diff --git a/flake.nix b/flake.nix index 2b570b4..6655c9c 100644 --- a/flake.nix +++ b/flake.nix @@ -48,6 +48,7 @@ specialArgs = { inherit inputs stable_pkgs unstable_pkgs; }; modules = [ ./hosts/snowbelle/configuration.nix + inputs.home-manager.nixosModules.default ]; }; vaniville = nixpkgs.lib.nixosSystem { diff --git a/tructure home manager b/tructure home manager deleted file mode 100644 index 7909374..0000000 --- a/tructure home manager +++ /dev/null @@ -1,508 +0,0 @@ -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 14e6851..b0eebc1 100644 --- a/users/blake/default.nix +++ b/users/blake/default.nix @@ -21,11 +21,20 @@ ]; }; }; - groups.blake = { gid = 1000; }; + 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/dots/.default.nix b/users/blake/dots/.default.nix new file mode 100644 index 0000000..38af7d8 --- /dev/null +++ b/users/blake/dots/.default.nix @@ -0,0 +1,8 @@ +{ + pkgs, + config, + ... +}: { + + +} diff --git a/users/blake/dots/xdg/default.nix b/users/blake/dots/xdg/default.nix new file mode 100644 index 0000000..fc0fa16 --- /dev/null +++ b/users/blake/dots/xdg/default.nix @@ -0,0 +1,27 @@ +{ + pkgs, + config, + ... +}: { + + home.packages = with pkgs; [ xdg-ninja ]; + + xdg = { + enable = true; + + userDirs = { # ~/.config/user-dirs.dirs + enable = true; + # You can override defaults here: + desktop = "$HOME/desktop"; + download = "$HOME/downloads"; + documents = "$HOME/documents"; + pictures = "$HOME/pictures"; + videos = "$HOME/videos"; + music = "$HOME/music"; + publicShare = "$HOME/public"; + templates = "$HOME/templates"; + }; + }; + + +} diff --git a/users/blake/dots/zsh/default.nix b/users/blake/dots/zsh/default.nix index 893fdc9..38af7d8 100644 --- a/users/blake/dots/zsh/default.nix +++ b/users/blake/dots/zsh/default.nix @@ -3,19 +3,6 @@ config, ... }: { - # just using the normal lfrc - programs.lf = { - enable = false; - }; - # install it to userspace - home.packages = with pkgs; [lf ctpv trashy]; - # link configs - xdg.configFile."lf/lfrc" = { - source = config.lib.file.mkOutOfStoreSymlink "/home/blake/.nix/users/blake/dots/lf/lfrc"; - }; - xdg.configFile."ctpv/config" = { - source = config.lib.file.mkOutOfStoreSymlink "/home/blake/.nix/users/blake/dots/lf/ctpv_config"; - }; } diff --git a/users/blake/home.nix b/users/blake/home.nix index 2775a69..3fb3a04 100644 --- a/users/blake/home.nix +++ b/users/blake/home.nix @@ -6,23 +6,12 @@ ... }: { imports = [ - inputs.home-manager.nixosModules.default ./dots/neovim ./dots/lf ./dots/git + ./dots/xdg ]; - # 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"; @@ -79,19 +68,19 @@ home.file.".ssh/id_snowbelle".source = config.lib.file.mkOutOfStoreSymlink /home/blake/.nix/.keyring/ssh/id_snowbelle; home.file.".ssh/id_snowbelle.pub".source = config.lib.file.mkOutOfStoreSymlink /home/blake/.nix/.keyring/ssh/id_snowbelle.pub; - # # manage secrets with sops - # sops.secrets = { - # "id_snowbelle" = { - # owner = "blake"; - # group = "blake"; - # mode = "0600"; - # path = "/home/blake/.ssh/id_snowbelle"; - # }; - # "id_snowbelle.pub" = { - # owner = "blake"; - # group = "blake"; - # mode = "644"; - # path = "/home/blake/.ssh/id_snowbelle.pub"; - # }; + # # manage secrets with sops + # sops.secrets = { + # "id_snowbelle" = { + # owner = "blake"; + # group = "blake"; + # mode = "0600"; + # path = "/home/blake/.ssh/id_snowbelle"; # }; + # "id_snowbelle.pub" = { + # owner = "blake"; + # group = "blake"; + # mode = "644"; + # path = "/home/blake/.ssh/id_snowbelle.pub"; + # }; + # }; }