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";