diff --git a/hosts/othalan/default.nix b/hosts/othalan/default.nix index 6912ac8..7ef513b 100644 --- a/hosts/othalan/default.nix +++ b/hosts/othalan/default.nix @@ -5,25 +5,30 @@ ... }: { imports = with inputs.self.nixosModules; [ - desktop - # hyprland nix-ld virtualbox restic ]; - programs.hyprland.enable = true; - services.vpn.enable = true; + cli.enable = true; + desktop.enable = true; - languages = { + languages = { misc = true; python = true; nim = true; tex = true; node = true; }; - cli.enable = true; + environment.systemPackages = with pkgs; [ + zk + rclone + quarto + ]; + programs.hyprland.enable = true; + + services.vpn.enable = true; services.restic.backups.gdrive = { user = "daylin"; @@ -32,30 +37,12 @@ paths = ["/home/daylin/stuff/" "/home/daylin/dev/"]; }; - environment.systemPackages = with pkgs; [ - zk - rclone - quarto - ]; - programs.gnupg.agent = { enable = true; enableSSHSupport = true; }; users.users.daylin.extraGroups = [ - "video" # backlight control via light "audio" ]; - - # users.users.daylin = { - # isNormalUser = true; - # shell = pkgs.zsh; - # extraGroups = [ - # "wheel" # sudo - # "video" # backlight control via light - # "audio" - # ]; - # }; - } diff --git a/lib/default.nix b/lib/default.nix index 49efcc2..ca3e902 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -27,7 +27,7 @@ in rec { nixosSystem { system = "x86_64-linux"; modules = - [../modules/roles/common.nix] + [../modules/common.nix] ++ filter isNixFile (listFilesRecursive (../. + "/hosts/${hostname}")); specialArgs = {inherit inputs;}; }; diff --git a/modules/roles/common.nix b/modules/common.nix similarity index 50% rename from modules/roles/common.nix rename to modules/common.nix index 1624440..3794b4c 100644 --- a/modules/roles/common.nix +++ b/modules/common.nix @@ -1,4 +1,4 @@ -{inputs, ...}: { +{inputs, lib, ...}: { imports = with inputs.self.nixosModules; [ users nix @@ -7,6 +7,16 @@ nvim vpn + # gui + fonts + + lock + qtile + hyprland + + gui + vscode + # langs python misc @@ -14,4 +24,7 @@ tex nim ]; + + options.desktop.enable = lib.mkEnableOption "is desktop"; } + diff --git a/modules/desktop/fonts.nix b/modules/desktop/fonts.nix new file mode 100644 index 0000000..4e46a04 --- /dev/null +++ b/modules/desktop/fonts.nix @@ -0,0 +1,17 @@ +{ + inputs, + pkgs, + config, + lib, + ... +}: let + inherit (lib) mkIf; + cfg = config.desktop; +in { + config = mkIf cfg.enable { + fonts.fontconfig.enable = true; + fonts.packages = with pkgs; [ + (nerdfonts.override {fonts = ["FiraCode"];}) + ]; +}; +} diff --git a/modules/gui.nix b/modules/desktop/gui.nix similarity index 76% rename from modules/gui.nix rename to modules/desktop/gui.nix index f53dca7..316ede4 100644 --- a/modules/gui.nix +++ b/modules/desktop/gui.nix @@ -1,8 +1,14 @@ { inputs, pkgs, + config, + lib, ... -}: { +}: let + inherit (lib) mkIf; + cfg = config.desktop; +in { + config = mkIf cfg.enable { environment.systemPackages = with pkgs; [ inputs.wezterm.packages.${pkgs.system}.default alacritty @@ -20,4 +26,5 @@ proprietaryCodecs = true; }) ]; +}; } diff --git a/modules/lock/default.nix b/modules/desktop/lock/default.nix similarity index 100% rename from modules/lock/default.nix rename to modules/desktop/lock/default.nix diff --git a/modules/lock/lock.sh b/modules/desktop/lock/lock.sh similarity index 100% rename from modules/lock/lock.sh rename to modules/desktop/lock/lock.sh diff --git a/modules/window-managers/hyprland.nix b/modules/desktop/window-managers/hyprland.nix similarity index 100% rename from modules/window-managers/hyprland.nix rename to modules/desktop/window-managers/hyprland.nix diff --git a/modules/window-managers/qtile.nix b/modules/desktop/window-managers/qtile.nix similarity index 100% rename from modules/window-managers/qtile.nix rename to modules/desktop/window-managers/qtile.nix diff --git a/modules/cli.nix b/modules/development/cli.nix similarity index 100% rename from modules/cli.nix rename to modules/development/cli.nix diff --git a/modules/dev.nix b/modules/development/dev.nix similarity index 100% rename from modules/dev.nix rename to modules/development/dev.nix diff --git a/modules/git.nix b/modules/development/git.nix similarity index 100% rename from modules/git.nix rename to modules/development/git.nix diff --git a/modules/fonts.nix b/modules/fonts.nix deleted file mode 100644 index 4cac252..0000000 --- a/modules/fonts.nix +++ /dev/null @@ -1,6 +0,0 @@ -{pkgs, ...}: { - fonts.fontconfig.enable = true; - fonts.packages = with pkgs; [ - (nerdfonts.override {fonts = ["FiraCode"];}) - ]; -} diff --git a/modules/roles/desktop.nix b/modules/roles/desktop.nix deleted file mode 100644 index 53c2567..0000000 --- a/modules/roles/desktop.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ - inputs, - config, - lib, - ... -}: { - imports = with inputs.self.nixosModules; [ - fonts - gui - lock - vscode - hyprland - ]; -} diff --git a/modules/restic.nix b/modules/storage/restic.nix similarity index 100% rename from modules/restic.nix rename to modules/storage/restic.nix