diff --git a/flake.lock b/flake.lock index eed10fa..cdaca09 100644 --- a/flake.lock +++ b/flake.lock @@ -20,6 +20,74 @@ "type": "github" } }, + "base16": { + "inputs": { + "fromYaml": "fromYaml" + }, + "locked": { + "lastModified": 1755819240, + "narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=", + "owner": "SenchoPens", + "repo": "base16.nix", + "rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6", + "type": "github" + }, + "original": { + "owner": "SenchoPens", + "repo": "base16.nix", + "type": "github" + } + }, + "base16-fish": { + "flake": false, + "locked": { + "lastModified": 1754405784, + "narHash": "sha256-l9xHIy+85FN+bEo6yquq2IjD1rSg9fjfjpyGP1W8YXo=", + "owner": "tomyun", + "repo": "base16-fish", + "rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561", + "type": "github" + }, + "original": { + "owner": "tomyun", + "repo": "base16-fish", + "rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561", + "type": "github" + } + }, + "base16-helix": { + "flake": false, + "locked": { + "lastModified": 1752979451, + "narHash": "sha256-0CQM+FkYy0fOO/sMGhOoNL80ftsAzYCg9VhIrodqusM=", + "owner": "tinted-theming", + "repo": "base16-helix", + "rev": "27cf1e66e50abc622fb76a3019012dc07c678fac", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-helix", + "type": "github" + } + }, + "base16-vim": { + "flake": false, + "locked": { + "lastModified": 1732806396, + "narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=", + "owner": "tinted-theming", + "repo": "base16-vim", + "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-vim", + "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", + "type": "github" + } + }, "copyparty": { "inputs": { "flake-utils": "flake-utils", @@ -39,6 +107,22 @@ "type": "github" } }, + "firefox-gnome-theme": { + "flake": false, + "locked": { + "lastModified": 1758112371, + "narHash": "sha256-lizRM2pj6PHrR25yimjyFn04OS4wcdbc38DCdBVa2rk=", + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", + "rev": "0909cfe4a2af8d358ad13b20246a350e14c2473d", + "type": "github" + }, + "original": { + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", + "type": "github" + } + }, "flake-compat": { "flake": false, "locked": { @@ -76,6 +160,27 @@ "type": "github" } }, + "flake-parts_2": { + "inputs": { + "nixpkgs-lib": [ + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1756770412, + "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "4524271976b625a4a605beefd893f270620fd751", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "flake-utils": { "locked": { "lastModified": 1678901627, @@ -91,6 +196,39 @@ "type": "github" } }, + "fromYaml": { + "flake": false, + "locked": { + "lastModified": 1731966426, + "narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=", + "owner": "SenchoPens", + "repo": "fromYaml", + "rev": "106af9e2f715e2d828df706c386a685698f3223b", + "type": "github" + }, + "original": { + "owner": "SenchoPens", + "repo": "fromYaml", + "type": "github" + } + }, + "gnome-shell": { + "flake": false, + "locked": { + "lastModified": 1748186689, + "narHash": "sha256-UaD7Y9f8iuLBMGHXeJlRu6U1Ggw5B9JnkFs3enZlap0=", + "owner": "GNOME", + "repo": "gnome-shell", + "rev": "8c88f917db0f1f0d80fa55206c863d3746fa18d0", + "type": "github" + }, + "original": { + "owner": "GNOME", + "ref": "48.2", + "repo": "gnome-shell", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -172,6 +310,31 @@ "type": "indirect" } }, + "nur": { + "inputs": { + "flake-parts": [ + "stylix", + "flake-parts" + ], + "nixpkgs": [ + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1758998580, + "narHash": "sha256-VLx0z396gDCGSiowLMFz5XRO/XuNV+4EnDYjdJhHvUk=", + "owner": "nix-community", + "repo": "NUR", + "rev": "ba8d9c98f5f4630bcb0e815ab456afd90c930728", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NUR", + "type": "github" + } + }, "nvf": { "inputs": { "flake-compat": "flake-compat", @@ -206,6 +369,7 @@ "nixpkgs-unstable": "nixpkgs-unstable", "nvf": "nvf", "sops-nix": "sops-nix", + "stylix": "stylix", "vpn-confinement": "vpn-confinement" } }, @@ -229,6 +393,40 @@ "type": "github" } }, + "stylix": { + "inputs": { + "base16": "base16", + "base16-fish": "base16-fish", + "base16-helix": "base16-helix", + "base16-vim": "base16-vim", + "firefox-gnome-theme": "firefox-gnome-theme", + "flake-parts": "flake-parts_2", + "gnome-shell": "gnome-shell", + "nixpkgs": [ + "nixpkgs" + ], + "nur": "nur", + "systems": "systems_2", + "tinted-foot": "tinted-foot", + "tinted-kitty": "tinted-kitty", + "tinted-schemes": "tinted-schemes", + "tinted-tmux": "tinted-tmux", + "tinted-zed": "tinted-zed" + }, + "locked": { + "lastModified": 1760472212, + "narHash": "sha256-4C3I/ssFsq8EgaUmZP0xv5V7RV0oCHgL/Rx+MUkuE+E=", + "owner": "nix-community", + "repo": "stylix", + "rev": "8d008296a1b3be9b57ad570f7acea00dd2fc92db", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "stylix", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1681028828, @@ -244,6 +442,102 @@ "type": "github" } }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "tinted-foot": { + "flake": false, + "locked": { + "lastModified": 1726913040, + "narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=", + "owner": "tinted-theming", + "repo": "tinted-foot", + "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-foot", + "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", + "type": "github" + } + }, + "tinted-kitty": { + "flake": false, + "locked": { + "lastModified": 1735730497, + "narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=", + "owner": "tinted-theming", + "repo": "tinted-kitty", + "rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-kitty", + "type": "github" + } + }, + "tinted-schemes": { + "flake": false, + "locked": { + "lastModified": 1757716333, + "narHash": "sha256-d4km8W7w2zCUEmPAPUoLk1NlYrGODuVa3P7St+UrqkM=", + "owner": "tinted-theming", + "repo": "schemes", + "rev": "317a5e10c35825a6c905d912e480dfe8e71c7559", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "schemes", + "type": "github" + } + }, + "tinted-tmux": { + "flake": false, + "locked": { + "lastModified": 1757811970, + "narHash": "sha256-n5ZJgmzGZXOD9pZdAl1OnBu3PIqD+X3vEBUGbTi4JiI=", + "owner": "tinted-theming", + "repo": "tinted-tmux", + "rev": "d217ba31c846006e9e0ae70775b0ee0f00aa6b1e", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-tmux", + "type": "github" + } + }, + "tinted-zed": { + "flake": false, + "locked": { + "lastModified": 1757811247, + "narHash": "sha256-4EFOUyLj85NRL3OacHoLGEo0wjiRJzfsXtR4CZWAn6w=", + "owner": "tinted-theming", + "repo": "base16-zed", + "rev": "824fe0aacf82b3c26690d14e8d2cedd56e18404e", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-zed", + "type": "github" + } + }, "vpn-confinement": { "locked": { "lastModified": 1759956062, diff --git a/flake.nix b/flake.nix index 26df58b..2b570b4 100644 --- a/flake.nix +++ b/flake.nix @@ -25,6 +25,10 @@ url = "github:notthebee/AutoASPM"; inputs.nixpkgs.follows = "nixpkgs"; }; + stylix = { + url = "github:nix-community/stylix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; copyparty.url = "github:9001/copyparty"; }; outputs = { self, nixpkgs, nixpkgs-unstable, ... }@inputs: @@ -44,8 +48,6 @@ specialArgs = { inherit inputs stable_pkgs unstable_pkgs; }; modules = [ ./hosts/snowbelle/configuration.nix - inputs.home-manager.nixosModules.default - inputs.vpn-confinement.nixosModules.default ]; }; vaniville = nixpkgs.lib.nixosSystem { diff --git a/hosts/snowbelle/configuration.nix b/hosts/snowbelle/configuration.nix index 0305054..2ddc437 100644 --- a/hosts/snowbelle/configuration.nix +++ b/hosts/snowbelle/configuration.nix @@ -19,7 +19,7 @@ in system = { ssh.enable = true; backups.enable = true; - backups.repo = "/holocron/archive/devices/snowbelle"; + backups.repo = "/holocron/archives/servers/snowbelle"; sops.enable = true; podman.enable = true; syncthing.enable = true; diff --git a/modules/system/vpn-confinement/default.nix b/modules/system/vpn-confinement/default.nix index a4702e5..0300171 100644 --- a/modules/system/vpn-confinement/default.nix +++ b/modules/system/vpn-confinement/default.nix @@ -1,12 +1,17 @@ -{ pkgs, config, lib, ... }: - -let - cfg = config.system.vpn-confinement; -in { + pkgs, + config, + lib, + inputs, + ... +}: let + cfg = config.system.vpn-confinement; +in { + imports = [inputs.vpn-confinement.nixosModules.default]; + options.system.vpn-confinement = { enable = lib.mkEnableOption "enables vpn-confinement"; - + # toggle for mullvad mexico w/ openvpn vpncon_mex = lib.mkOption { type = lib.types.bool; @@ -16,7 +21,6 @@ in }; config = lib.mkIf cfg.enable { - # Define VPN network namespace vpnNamespaces.wgmex = { enable = true; @@ -25,17 +29,25 @@ in "10.0.0.0/8" ]; portMappings = [ - { from = 7103; to = 7103; } + { + from = 7103; + to = 7103; + } + ]; + openVPNPorts = [ + { + port = 51820; + protocol = "both"; + } ]; - openVPNPorts = [{ - port = 51820; - protocol = "both"; - }]; }; # secrets only if VPN is enabled sops.secrets = { - "vpncon_mex_config" = { owner = "root"; group = "root"; }; + "vpncon_mex_config" = { + owner = "root"; + group = "root"; + }; }; - }; + }; } diff --git a/tructure home manager b/tructure home manager new file mode 100644 index 0000000..7909374 --- /dev/null +++ b/tructure home manager @@ -0,0 +1,508 @@ +diff --git a/flake.lock b/flake.lock +index eed10fa..cdaca09 100644 +--- a/flake.lock ++++ b/flake.lock +@@ -20,6 +20,74 @@ + "type": "github" + } + }, ++ "base16": { ++ "inputs": { ++ "fromYaml": "fromYaml" ++ }, ++ "locked": { ++ "lastModified": 1755819240, ++ "narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=", ++ "owner": "SenchoPens", ++ "repo": "base16.nix", ++ "rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6", ++ "type": "github" ++ }, ++ "original": { ++ "owner": "SenchoPens", ++ "repo": "base16.nix", ++ "type": "github" ++ } ++ }, ++ "base16-fish": { ++ "flake": false, ++ "locked": { ++ "lastModified": 1754405784, ++ "narHash": "sha256-l9xHIy+85FN+bEo6yquq2IjD1rSg9fjfjpyGP1W8YXo=", ++ "owner": "tomyun", ++ "repo": "base16-fish", ++ "rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561", ++ "type": "github" ++ }, ++ "original": { ++ "owner": "tomyun", ++ "repo": "base16-fish", ++ "rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561", ++ "type": "github" ++ } ++ }, ++ "base16-helix": { ++ "flake": false, ++ "locked": { ++ "lastModified": 1752979451, ++ "narHash": "sha256-0CQM+FkYy0fOO/sMGhOoNL80ftsAzYCg9VhIrodqusM=", ++ "owner": "tinted-theming", ++ "repo": "base16-helix", ++ "rev": "27cf1e66e50abc622fb76a3019012dc07c678fac", ++ "type": "github" ++ }, ++ "original": { ++ "owner": "tinted-theming", ++ "repo": "base16-helix", ++ "type": "github" ++ } ++ }, ++ "base16-vim": { ++ "flake": false, ++ "locked": { ++ "lastModified": 1732806396, ++ "narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=", ++ "owner": "tinted-theming", ++ "repo": "base16-vim", ++ "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", ++ "type": "github" ++ }, ++ "original": { ++ "owner": "tinted-theming", ++ "repo": "base16-vim", ++ "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", ++ "type": "github" ++ } ++ }, + "copyparty": { + "inputs": { + "flake-utils": "flake-utils", +@@ -39,6 +107,22 @@ + "type": "github" + } + }, ++ "firefox-gnome-theme": { ++ "flake": false, ++ "locked": { ++ "lastModified": 1758112371, ++ "narHash": "sha256-lizRM2pj6PHrR25yimjyFn04OS4wcdbc38DCdBVa2rk=", ++ "owner": "rafaelmardojai", ++ "repo": "firefox-gnome-theme", ++ "rev": "0909cfe4a2af8d358ad13b20246a350e14c2473d", ++ "type": "github" ++ }, ++ "original": { ++ "owner": "rafaelmardojai", ++ "repo": "firefox-gnome-theme", ++ "type": "github" ++ } ++ }, + "flake-compat": { + "flake": false, + "locked": { +@@ -76,6 +160,27 @@ + "type": "github" + } + }, ++ "flake-parts_2": { ++ "inputs": { ++ "nixpkgs-lib": [ ++ "stylix", ++ "nixpkgs" ++ ] ++ }, ++ "locked": { ++ "lastModified": 1756770412, ++ "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=", ++ "owner": "hercules-ci", ++ "repo": "flake-parts", ++ "rev": "4524271976b625a4a605beefd893f270620fd751", ++ "type": "github" ++ }, ++ "original": { ++ "owner": "hercules-ci", ++ "repo": "flake-parts", ++ "type": "github" ++ } ++ }, + "flake-utils": { + "locked": { + "lastModified": 1678901627, +@@ -91,6 +196,39 @@ + "type": "github" + } + }, ++ "fromYaml": { ++ "flake": false, ++ "locked": { ++ "lastModified": 1731966426, ++ "narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=", ++ "owner": "SenchoPens", ++ "repo": "fromYaml", ++ "rev": "106af9e2f715e2d828df706c386a685698f3223b", ++ "type": "github" ++ }, ++ "original": { ++ "owner": "SenchoPens", ++ "repo": "fromYaml", ++ "type": "github" ++ } ++ }, ++ "gnome-shell": { ++ "flake": false, ++ "locked": { ++ "lastModified": 1748186689, ++ "narHash": "sha256-UaD7Y9f8iuLBMGHXeJlRu6U1Ggw5B9JnkFs3enZlap0=", ++ "owner": "GNOME", ++ "repo": "gnome-shell", ++ "rev": "8c88f917db0f1f0d80fa55206c863d3746fa18d0", ++ "type": "github" ++ }, ++ "original": { ++ "owner": "GNOME", ++ "ref": "48.2", ++ "repo": "gnome-shell", ++ "type": "github" ++ } ++ }, + "home-manager": { + "inputs": { + "nixpkgs": [ +@@ -172,6 +310,31 @@ + "type": "indirect" + } + }, ++ "nur": { ++ "inputs": { ++ "flake-parts": [ ++ "stylix", ++ "flake-parts" ++ ], ++ "nixpkgs": [ ++ "stylix", ++ "nixpkgs" ++ ] ++ }, ++ "locked": { ++ "lastModified": 1758998580, ++ "narHash": "sha256-VLx0z396gDCGSiowLMFz5XRO/XuNV+4EnDYjdJhHvUk=", ++ "owner": "nix-community", ++ "repo": "NUR", ++ "rev": "ba8d9c98f5f4630bcb0e815ab456afd90c930728", ++ "type": "github" ++ }, ++ "original": { ++ "owner": "nix-community", ++ "repo": "NUR", ++ "type": "github" ++ } ++ }, + "nvf": { + "inputs": { + "flake-compat": "flake-compat", +@@ -206,6 +369,7 @@ + "nixpkgs-unstable": "nixpkgs-unstable", + "nvf": "nvf", + "sops-nix": "sops-nix", ++ "stylix": "stylix", + "vpn-confinement": "vpn-confinement" + } + }, +@@ -229,6 +393,40 @@ + "type": "github" + } + }, ++ "stylix": { ++ "inputs": { ++ "base16": "base16", ++ "base16-fish": "base16-fish", ++ "base16-helix": "base16-helix", ++ "base16-vim": "base16-vim", ++ "firefox-gnome-theme": "firefox-gnome-theme", ++ "flake-parts": "flake-parts_2", ++ "gnome-shell": "gnome-shell", ++ "nixpkgs": [ ++ "nixpkgs" ++ ], ++ "nur": "nur", ++ "systems": "systems_2", ++ "tinted-foot": "tinted-foot", ++ "tinted-kitty": "tinted-kitty", ++ "tinted-schemes": "tinted-schemes", ++ "tinted-tmux": "tinted-tmux", ++ "tinted-zed": "tinted-zed" ++ }, ++ "locked": { ++ "lastModified": 1760472212, ++ "narHash": "sha256-4C3I/ssFsq8EgaUmZP0xv5V7RV0oCHgL/Rx+MUkuE+E=", ++ "owner": "nix-community", ++ "repo": "stylix", ++ "rev": "8d008296a1b3be9b57ad570f7acea00dd2fc92db", ++ "type": "github" ++ }, ++ "original": { ++ "owner": "nix-community", ++ "repo": "stylix", ++ "type": "github" ++ } ++ }, + "systems": { + "locked": { + "lastModified": 1681028828, +@@ -244,6 +442,102 @@ + "type": "github" + } + }, ++ "systems_2": { ++ "locked": { ++ "lastModified": 1681028828, ++ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", ++ "owner": "nix-systems", ++ "repo": "default", ++ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", ++ "type": "github" ++ }, ++ "original": { ++ "owner": "nix-systems", ++ "repo": "default", ++ "type": "github" ++ } ++ }, ++ "tinted-foot": { ++ "flake": false, ++ "locked": { ++ "lastModified": 1726913040, ++ "narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=", ++ "owner": "tinted-theming", ++ "repo": "tinted-foot", ++ "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", ++ "type": "github" ++ }, ++ "original": { ++ "owner": "tinted-theming", ++ "repo": "tinted-foot", ++ "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", ++ "type": "github" ++ } ++ }, ++ "tinted-kitty": { ++ "flake": false, ++ "locked": { ++ "lastModified": 1735730497, ++ "narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=", ++ "owner": "tinted-theming", ++ "repo": "tinted-kitty", ++ "rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa", ++ "type": "github" ++ }, ++ "original": { ++ "owner": "tinted-theming", ++ "repo": "tinted-kitty", ++ "type": "github" ++ } ++ }, ++ "tinted-schemes": { ++ "flake": false, ++ "locked": { ++ "lastModified": 1757716333, ++ "narHash": "sha256-d4km8W7w2zCUEmPAPUoLk1NlYrGODuVa3P7St+UrqkM=", ++ "owner": "tinted-theming", ++ "repo": "schemes", ++ "rev": "317a5e10c35825a6c905d912e480dfe8e71c7559", ++ "type": "github" ++ }, ++ "original": { ++ "owner": "tinted-theming", ++ "repo": "schemes", ++ "type": "github" ++ } ++ }, ++ "tinted-tmux": { ++ "flake": false, ++ "locked": { ++ "lastModified": 1757811970, ++ "narHash": "sha256-n5ZJgmzGZXOD9pZdAl1OnBu3PIqD+X3vEBUGbTi4JiI=", ++ "owner": "tinted-theming", ++ "repo": "tinted-tmux", ++ "rev": "d217ba31c846006e9e0ae70775b0ee0f00aa6b1e", ++ "type": "github" ++ }, ++ "original": { ++ "owner": "tinted-theming", ++ "repo": "tinted-tmux", ++ "type": "github" ++ } ++ }, ++ "tinted-zed": { ++ "flake": false, ++ "locked": { ++ "lastModified": 1757811247, ++ "narHash": "sha256-4EFOUyLj85NRL3OacHoLGEo0wjiRJzfsXtR4CZWAn6w=", ++ "owner": "tinted-theming", ++ "repo": "base16-zed", ++ "rev": "824fe0aacf82b3c26690d14e8d2cedd56e18404e", ++ "type": "github" ++ }, ++ "original": { ++ "owner": "tinted-theming", ++ "repo": "base16-zed", ++ "type": "github" ++ } ++ }, + "vpn-confinement": { + "locked": { + "lastModified": 1759956062, +diff --git a/flake.nix b/flake.nix +index 26df58b..2b570b4 100644 +--- a/flake.nix ++++ b/flake.nix +@@ -25,6 +25,10 @@ + url = "github:notthebee/AutoASPM"; + inputs.nixpkgs.follows = "nixpkgs"; + }; ++ stylix = { ++ url = "github:nix-community/stylix"; ++ inputs.nixpkgs.follows = "nixpkgs"; ++ }; + copyparty.url = "github:9001/copyparty"; + }; + outputs = { self, nixpkgs, nixpkgs-unstable, ... }@inputs:  +@@ -44,8 +48,6 @@ + specialArgs = { inherit inputs stable_pkgs unstable_pkgs; }; + modules = [ + ./hosts/snowbelle/configuration.nix +- inputs.home-manager.nixosModules.default +- inputs.vpn-confinement.nixosModules.default + ]; + }; + vaniville = nixpkgs.lib.nixosSystem { +diff --git a/hosts/snowbelle/configuration.nix b/hosts/snowbelle/configuration.nix +index 0305054..2ddc437 100644 +--- a/hosts/snowbelle/configuration.nix ++++ b/hosts/snowbelle/configuration.nix +@@ -19,7 +19,7 @@ in + system = { + ssh.enable = true; + backups.enable = true; +- backups.repo = "/holocron/archive/devices/snowbelle"; ++ backups.repo = "/holocron/archives/servers/snowbelle"; + sops.enable = true; + podman.enable = true; + syncthing.enable = true; +diff --git a/modules/system/vpn-confinement/default.nix b/modules/system/vpn-confinement/default.nix +index a4702e5..59b2dba 100644 +--- a/modules/system/vpn-confinement/default.nix ++++ b/modules/system/vpn-confinement/default.nix +@@ -1,12 +1,15 @@ +-{ pkgs, config, lib, ... }: +- +-let +- cfg = config.system.vpn-confinement; +-in + { ++ pkgs, ++ config, ++ lib, ++ inputs, ++ ... ++}: let ++ cfg = config.system.vpn-confinement; ++in { + options.system.vpn-confinement = { + enable = lib.mkEnableOption "enables vpn-confinement"; +-  ++ + # toggle for mullvad mexico w/ openvpn + vpncon_mex = lib.mkOption { + type = lib.types.bool; +@@ -16,7 +19,7 @@ in + }; +  + config = lib.mkIf cfg.enable { +-  ++ imports = [inputs.vpn-confinement.nixosModules.default]; + # Define VPN network namespace + vpnNamespaces.wgmex = { + enable = true; +@@ -25,17 +28,25 @@ in + "10.0.0.0/8" + ]; + portMappings = [ +- { from = 7103; to = 7103; } ++ { ++ from = 7103; ++ to = 7103; ++ } ++ ]; ++ openVPNPorts = [ ++ { ++ port = 51820; ++ protocol = "both"; ++ } + ]; +- openVPNPorts = [{ +- port = 51820; +- protocol = "both"; +- }]; + }; +  + # secrets only if VPN is enabled + sops.secrets = { +- "vpncon_mex_config" = { owner = "root"; group = "root"; }; ++ "vpncon_mex_config" = { ++ owner = "root"; ++ group = "root"; ++ }; + }; +- }; ++ }; + } +diff --git a/users/blake/default.nix b/users/blake/default.nix +index 240ed56..14e6851 100644 +--- a/users/blake/default.nix ++++ b/users/blake/default.nix +@@ -24,16 +24,6 @@ + groups.blake = { gid = 1000; }; + }; +  +- # define home-manager user +- home-manager = { +- extraSpecialArgs = {inherit inputs;}; +- backupFileExtension = "bak"; +- useUserPackages = true; +- useGlobalPkgs = true; +- users = { +- "blake" = import ./home.nix; +- }; +- }; +  + nix.settings.trusted-users = ["blake"]; + programs.zsh.enable = true; +diff --git a/users/blake/home.nix b/users/blake/home.nix +index f4edd02..2775a69 100644 +--- a/users/blake/home.nix ++++ b/users/blake/home.nix +@@ -6,11 +6,23 @@ + ... + }: { + imports = [ ++ inputs.home-manager.nixosModules.default + ./dots/neovim + ./dots/lf + ./dots/git + ]; +  ++ # define home-manager user ++ home-manager = { ++ extraSpecialArgs = {inherit inputs;}; ++ backupFileExtension = "bak"; ++ useUserPackages = true; ++ useGlobalPkgs = true; ++ users = { ++ "blake" = import ./home.nix; ++ }; ++ }; ++ + # general config + home.username = "blake"; + home.homeDirectory = "/home/blake"; diff --git a/users/blake/default.nix b/users/blake/default.nix index 240ed56..14e6851 100644 --- a/users/blake/default.nix +++ b/users/blake/default.nix @@ -24,16 +24,6 @@ groups.blake = { gid = 1000; }; }; - # define home-manager user - home-manager = { - extraSpecialArgs = {inherit inputs;}; - backupFileExtension = "bak"; - useUserPackages = true; - useGlobalPkgs = true; - users = { - "blake" = import ./home.nix; - }; - }; nix.settings.trusted-users = ["blake"]; programs.zsh.enable = true; diff --git a/users/blake/home.nix b/users/blake/home.nix index f4edd02..2775a69 100644 --- a/users/blake/home.nix +++ b/users/blake/home.nix @@ -6,11 +6,23 @@ ... }: { imports = [ + inputs.home-manager.nixosModules.default ./dots/neovim ./dots/lf ./dots/git ]; + # define home-manager user + home-manager = { + extraSpecialArgs = {inherit inputs;}; + backupFileExtension = "bak"; + useUserPackages = true; + useGlobalPkgs = true; + users = { + "blake" = import ./home.nix; + }; + }; + # general config home.username = "blake"; home.homeDirectory = "/home/blake";