Compare commits

...
10 Commits
Author SHA1 Message Date
Jordan Ashurst 00446ffcde adding network module (empty) 2026-09-22 01:40:49 -07:00
Jordan Ashurst fcb1e76707 Adding propietary driver nvidia 2026-09-21 15:11:19 -07:00
Jordan Ashurst fdf9663aba Adding dependencies 2026-09-21 14:17:22 -07:00
Jordan Ashurst a9e52c9857 Changing for legacy packages 2026-09-21 06:28:02 -07:00
Jordan Ashurst e9ec2199d5 flake: add home-manager.backupFileExtension for hypr/nvim clobber
- hm-activate failed Existing file /home/mask/.config/hypr would be clobbered, set backupFileExtension=backup to auto-rename
2026-09-18 06:51:33 -07:00
Jordan Ashurst 84fadc9373 modules: remove mounts.nix and samba.nix (moved to hosts/dogma-nixos)
- mounts/samba now exclusive to dogma-nixos per request, RTX/WSL without
2026-09-18 04:23:42 -07:00
Jordan Ashurst 2a09b73a9a home: add dogma-wsl headless shim
- imports common.nix, disables kitty
2026-09-18 04:23:36 -07:00
Jordan Ashurst 835c534e58 home: add dogma-nixos-rtx shim
- imports common.nix
2026-09-18 04:23:34 -07:00
Jordan Ashurst 48ccdf5d53 home: add dogma-nixos shim
- imports common.nix
2026-09-18 04:23:32 -07:00
Jordan Ashurst b7bea57e2c home: add common.nix base
- extracted from home.nix, fix ../dotfiles + ../secrets paths, add dogma-nixos rebuild aliases
2026-09-18 04:23:30 -07:00
11 changed files with 213 additions and 141 deletions
Generated
+9 -9
View File
@@ -102,11 +102,11 @@
]
},
"locked": {
"lastModified": 1789386765,
"narHash": "sha256-4hyLFBhzQC7+qPMELWc7J/sbdA6ckXZxXU9CYRsGhsc=",
"lastModified": 1790010537,
"narHash": "sha256-rsDlQDQkCVnSkEfDTWlaFjp7vpke5taFkeTseT7DUxQ=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "87c391f49a34660de6010f35bb50fb1bf811be9f",
"rev": "a6c231d51f2a434e164020eae31de96ca0a56d65",
"type": "github"
},
"original": {
@@ -174,11 +174,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1789286504,
"narHash": "sha256-eiEK7cKZORNEvX0GeF3RtNEF/JXhgf2RqSp3230q13E=",
"lastModified": 1789921291,
"narHash": "sha256-Ft/BRnIqw1MywFoXydKobjjWmDFgDdYtSpJliE8+yUw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ef34387ddd751e1ab8857adf4676492d32eb24ec",
"rev": "44a91898084f46797b5fac650c7e8c9ac38c43d4",
"type": "github"
},
"original": {
@@ -222,11 +222,11 @@
]
},
"locked": {
"lastModified": 1788914643,
"narHash": "sha256-4GuMPW90JSxXWDPUB9M+1m7fYbe3H0apOd86/zBQ2Kw=",
"lastModified": 1789890976,
"narHash": "sha256-GKwH3zpy7tartuJMG0Rv/xUsdetG1QLmTVv8UKgJLmA=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "13616fff713a9f94055c66f15687ebdc17a335df",
"rev": "7214124c20c1542c90deb54af50e2f53ae02711f",
"type": "github"
},
"original": {
+1
View File
@@ -52,6 +52,7 @@
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.backupFileExtension = "backup";
home-manager.extraSpecialArgs = {inherit inputs;};
home-manager.sharedModules = [
inputs.sops-nix.homeManagerModules.sops
+171
View File
@@ -0,0 +1,171 @@
{
config,
pkgs,
...
}: {
# Home Manager needs a bit of information about you and the paths it should
# manage.
imports = [
];
home.username = "mask";
home.homeDirectory = "/home/mask";
# This value determines the Home Manager release that your configuration is
# compatible with. This helps avoid breakage when a new Home Manager release
# introduces backwards incompatible changes.
#
# You should not change this value, even if you update Home Manager. If you do
# want to update the value, then make sure to first check the Home Manager
# release notes.
home.stateVersion = "25.11"; # Please read the comment before changing.
# The home.packages option allows you to install Nix packages into your
# environment.
home.packages = with pkgs; [
# # It is sometimes useful to fine-tune packages, for example, by applying
# # overrides. You can do that directly here, just don't forget the
# # parentheses. Maybe you want to install Nerd Fonts with a limited number of
# # fonts?
# (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
# # You can also create simple shell scripts directly inside your
# # configuration. For example, this adds a command 'my-hello' to your
# # environment:
# (pkgs.writeShellScriptBin "my-hello" ''
# echo "Hello, ${config.home.username}!"
# '')
];
# Home Manager is pretty good at managing dotfiles. The primary way to manage
# plain files is through 'home.file'.
home.file = {
".config/nvim".source = ../dotfiles/nvim;
".config/hypr".source = ../dotfiles/hypr;
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
# # symlink to the Nix store copy.
# ".screenrc".source = dotfiles/screenrc;
# # You can also set the file content immediately.
# ".gradle/gradle.properties".text = ''
# org.gradle.console=verbose
# org.gradle.daemon.idletimeout=3600000
# '';
};
programs.tmux = {
enable = true;
shell = "${pkgs.zsh}/bin/zsh";
};
programs.kitty = {
enable = true;
settings = {
font_family = "Hack Nerd Font Mono";
font_size = "";
bold_font = "auto";
italic_font = "auto";
bold_italic_font = "auto";
};
};
home.shellAliases = {
dogma-rebuild = "sudo nixos-rebuild switch --flake ${config.home.homeDirectory}#$(hostname)";
dogma-rebuild-nixos = "sudo nixos-rebuild switch --flake ${config.home.homeDirectory}#dogma-nixos";
dogma-rebuild-rtx = "sudo nixos-rebuild switch --flake ${config.home.homeDirectory}#dogma-nixos-rtx";
dogma-rebuild-wsl = "sudo nixos-rebuild switch --flake ${config.home.homeDirectory}#dogma-wsl";
cdproj = "cd ${config.home.homeDirectory}/projects/nixos-dogma";
working = "echo aaa";
};
# Home Manager can also manage your environment variables through
# 'home.sessionVariables'. These will be explicitly sourced when using a
# shell provided by Home Manager. If you don't want to manage your shell
# through Home Manager then you have to manually source 'hm-session-vars.sh'
# located at either
#
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
#
# or
#
# ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh
#
# or
#
# /etc/profiles/per-user/mask/etc/profile.d/hm-session-vars.sh
#
home.sessionVariables = {
SOPS_EDITOR = "nvim";
EDITOR = "nvim";
VISUAL = "nvim";
TEST = "test";
TEST_A = "testa";
};
# Let Home Manager install and manage itself.
programs.zsh = {
enable = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
};
sops = {
age.keyFile = "/home/mask/.config/sops/age/keys.txt";
defaultSopsFile = ../secrets/secrets.yaml;
secrets = {
"github/token" = {};
"github/username" = {};
"gitlab/token" = {};
"gitea/token" = {};
"gitea/password" = {};
"gitea/username" = {};
};
templates = {
".git-credentials" = {
path = "${config.home.homeDirectory}/.git-credentials";
mode = "0600";
content = ''
https://${config.sops.placeholder."gitea/username"}:${config.sops.placeholder."gitea/token"}@git.centraldogma.site
https://${config.sops.placeholder."github/username"}:${config.sops.placeholder."github/token"}@github.com
'';
};
};
};
programs.git = {
enable = true;
settings = {
user = {
name = "Jordan Ashurst";
email = "ashurstdev@proton.me";
};
alias = {
#Add and commit
ac = "!git add $1 && git commit -m $2";
};
# credential-helper = {
#
# };
};
};
programs.neovim = {
enable = true;
defaultEditor = true;
viAlias = true;
vimAlias = true;
extraPackages = with pkgs; [
git
curl
ripgrep
fd
gcc
gnumake
unzip
wget
];
};
programs.home-manager.enable = true;
}
+3
View File
@@ -0,0 +1,3 @@
{...}: {
imports = [./common.nix];
}
+3
View File
@@ -0,0 +1,3 @@
{...}: {
imports = [./common.nix];
}
+6
View File
@@ -0,0 +1,6 @@
{ config, lib, pkgs, ... }: {
imports = [./common.nix];
# Headless WSL overrides: disable GUI apps
programs.kitty.enable = lib.mkForce false;
}
+12 -1
View File
@@ -1,8 +1,14 @@
{ config, lib, pkgs, ... }: {
{
config,
lib,
pkgs,
...
}: {
imports = [
./hardware-configuration.nix
./mounts.nix
./samba.nix
./network.nix
../common/default.nix
../common/desktop.nix
../common/server.nix
@@ -14,4 +20,9 @@
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.systemd-boot.configurationLimit = 30;
boot.kernelModules = ["kvm-intel"];
# hardware.nvidia = {
# modesetting.enable = true;
# nvidiaSettings = true;
# package = config.boot.kernelPackages.nvidiaPackages.legacy_580;
# };
}
+1
View File
@@ -0,0 +1 @@
{}
-57
View File
@@ -1,57 +0,0 @@
{
fileSystems = {
"/mnt/games" = {
device = "/dev/disk/by-uuid/969eb1a0-fb99-46d1-96cf-57a8644ee2d1";
fsType = "btrfs";
options = [
"users"
"compress=zstd"
"subvol=@games"
"nofail"
];
};
"/mnt/photo" = {
device = "/dev/disk/by-uuid/969eb1a0-fb99-46d1-96cf-57a8644ee2d1";
fsType = "btrfs";
options = [
"users"
"compress=zstd"
"subvol=@Pictures"
"nofail"
];
};
"/mnt/media" = {
device = "/dev/disk/by-uuid/969eb1a0-fb99-46d1-96cf-57a8644ee2d1";
fsType = "btrfs";
options = [
"users"
"compress=zstd"
"subvol=@media"
"nofail"
];
};
"/mnt/winbackup" = {
device = "/dev/disk/by-uuid/969eb1a0-fb99-46d1-96cf-57a8644ee2d1";
fsType = "btrfs";
options = [
"users"
"compress=zstd"
"subvol=@winbackup"
"nofail"
];
};
"/mnt/winhdd" = {
device = "/dev/sdb1";
fsType = "ntfs";
options = [
"users"
"windows_names"
"noatime"
"nofail"
];
};
};
}
+7 -2
View File
@@ -1,4 +1,9 @@
{ config, lib, pkgs, ... }: {
{
config,
lib,
pkgs,
...
}: {
nixpkgs.config.allowUnfree = true;
hardware.graphics.enable = true;
hardware.nvidia = {
@@ -7,7 +12,7 @@
powerManagement.finegrained = false;
open = false; # Pascal (GTX 1060) requires closed driver
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.stable;
package = config.boot.kernelPackages.nvidiaPackages.legacy_580;
};
services.xserver.videoDrivers = ["nvidia"];
}
-72
View File
@@ -1,72 +0,0 @@
{pkgs, ...}: {
services.samba = {
enable = true;
openFirewall = true;
settings = {
global = {
"security" = "user";
"workgroup" = "WORKGROUP";
"server string" = "smbnix";
"netbios name" = "smbnix";
#"use sendfile" = "yes";
#"max protocol" = "smb2";
# note: localhost is the ipv6 localhost ::1
"hosts allow" = "192.168.1.1/24 127.0.0.1 localhost";
"guest account" = "nobody";
"map to guest" = "bad user";
};
"games" = {
"path" = "/mnt/games";
"browseable" = "yes";
"read only" = "no";
"guest ok" = "no";
"create mask" = "0644";
"directory mask" = "0755";
};
"media" = {
"path" = "/mnt/media";
"browseable" = "yes";
"read only" = "no";
"guest ok" = "no";
"create mask" = "0644";
"directory mask" = "0755";
};
"photos" = {
"path" = "/mnt/photo";
"browseable" = "yes";
"read only" = "no";
"guest ok" = "no";
"create mask" = "0644";
"directory mask" = "0755";
};
"winhdd" = {
"path" = "/mnt/winhdd";
"browseable" = "yes";
"read only" = "no";
"guest ok" = "no";
"create mask" = "0644";
"directory mask" = "0755";
};
"winback" = {
"path" = "/mnt/winbackup";
"browseable" = "yes";
"read only" = "no";
"guest ok" = "no";
"create mask" = "0644";
"directory mask" = "0755";
};
};
};
services.samba-wsdd = {
enable = true;
openFirewall = true;
};
environment.systemPackages = [pkgs.samba];
}