diff --git a/hosts/atlas/default.nix b/hosts/atlas/default.nix index d23178e..979fe81 100644 --- a/hosts/atlas/default.nix +++ b/hosts/atlas/default.nix @@ -22,14 +22,6 @@ users.extraGroups.vboxusers.members = [ "jordan" ]; modules = { - programs = { - graphics = { - raster.enable = true; - vector.enable = true; - }; - libreoffice.enable = true; - qbittorrent.enable = true; - }; services = { borgmatic = { enable = true; diff --git a/hosts/common.nix b/hosts/common.nix index fda785e..731137c 100644 --- a/hosts/common.nix +++ b/hosts/common.nix @@ -8,7 +8,6 @@ imports = [ self.inputs.agenix.nixosModules.age self.inputs.home-manager.nixosModule - ../modules/home-manager ../modules/nixos ]; diff --git a/hosts/desktop.nix b/hosts/desktop.nix index 2c79c5d..7c413e6 100644 --- a/hosts/desktop.nix +++ b/hosts/desktop.nix @@ -3,6 +3,7 @@ { imports = [ ./common.nix + ../users/jordan ]; nixpkgs.overlays = [ diff --git a/hosts/eos/default.nix b/hosts/eos/default.nix index 9c4eb83..17e197c 100644 --- a/hosts/eos/default.nix +++ b/hosts/eos/default.nix @@ -24,11 +24,5 @@ }; }; - modules = { - programs = { - qbittorrent.enable = true; - }; - }; - system.stateVersion = "22.11"; } diff --git a/hosts/helios/default.nix b/hosts/helios/default.nix index 25974d1..703d4bf 100644 --- a/hosts/helios/default.nix +++ b/hosts/helios/default.nix @@ -26,9 +26,6 @@ ]; modules = { - programs = { - qbittorrent.enable = true; - }; services = { borgmatic = { enable = true; diff --git a/hosts/hypnos/default.nix b/hosts/hypnos/default.nix index 3dc5990..6891b8d 100644 --- a/hosts/hypnos/default.nix +++ b/hosts/hypnos/default.nix @@ -48,13 +48,5 @@ pkgs.moonlight-qt ]; - modules = { - programs = { - recording = { - audio.enable = true; - }; - }; - }; - system.stateVersion = "22.11"; } diff --git a/hosts/library/default.nix b/hosts/library/default.nix index 2e5e43f..23ec7c2 100644 --- a/hosts/library/default.nix +++ b/hosts/library/default.nix @@ -182,8 +182,6 @@ modules = { podman.enable = true; - programs = { - }; services = { borgmatic = { enable = true; diff --git a/hosts/odyssey/default.nix b/hosts/odyssey/default.nix index fa39c63..4364b0f 100644 --- a/hosts/odyssey/default.nix +++ b/hosts/odyssey/default.nix @@ -52,28 +52,6 @@ services.displayManager.ly.enable = true; modules = { - programs = { - emulators = { - gamecube.enable = true; - ps2.enable = true; - ps3.enable = true; - psp.enable = true; - wii.enable = true; - xbox.enable = true; - }; - graphics = { - modeling.enable = true; - raster.enable = true; - vector.enable = true; - }; - libreoffice.enable = true; - lutris.enable = true; - qbittorrent.enable = true; - recording = { - audio.enable = true; - video.enable = true; - }; - }; hardware.presonus-studio.enable = true; services = { borgmatic = { diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix deleted file mode 100644 index f2c2aa7..0000000 --- a/modules/home-manager/default.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ - imports = [ - ./options.nix - ./programs/brave.nix - ./programs/emulators.nix - ./programs/forensics.nix - ./programs/graphics.nix - ./programs/libreoffice.nix - ./programs/lutris.nix - ./programs/qbittorrent.nix - ./programs/recording.nix - ./programs/slack.nix - ./programs/steam.nix - ./programs/vscode.nix - ./programs/zoom.nix - ]; -} diff --git a/modules/home-manager/options.nix b/modules/home-manager/options.nix deleted file mode 100644 index e8f8b60..0000000 --- a/modules/home-manager/options.nix +++ /dev/null @@ -1,138 +0,0 @@ -{ - config, - options, - lib, - self, - ... -}: - -with lib; -{ - options = with types; { - user = mkOption { - type = attrs; - default = { }; - }; - - home = { - configFile = mkOption { - type = attrs; - default = { }; - description = "Files to place in $XDG_CONFIG_HOME"; - }; - dataFile = mkOption { - type = attrs; - default = { }; - description = "Files to place in $XDG_DATA_HOME"; - }; - file = mkOption { - type = attrs; - default = { }; - description = "Files to place directly in $HOME"; - }; - packages = mkOption { - type = attrs; - default = { }; - description = "User-level installed packages"; - }; - programs = mkOption { - type = attrs; - default = { }; - description = "Programs managed directly from home-manager"; - }; - services = mkOption { - type = attrs; - default = { }; - description = "Services managed directly from home-manager"; - }; - }; - - dconf.settings = mkOption { - type = attrs; - default = { }; - description = "dconf settings to enable"; - }; - - env = mkOption { - type = attrsOf (oneOf [ - str - path - (listOf (either str path)) - ]); - apply = mapAttrs ( - n: v: if isList v then concatMapStringsSep ":" (x: toString x) v else (toString v) - ); - default = { }; - description = ""; - }; - }; - - config = { - age.secrets."passwords/users/jordan".file = "${self.inputs.secrets}/passwords/users/jordan.age"; - user = - let - user = builtins.getEnv "USER"; - name = - if - elem user [ - "" - "root" - ] - then - "jordan" - else - user; - in - { - inherit name; - isNormalUser = true; - extraGroups = [ - "audio" - "docker" - "lxd" - "networkmanager" - "wheel" - ]; - description = "Jordan Holt"; - useDefaultShell = true; - openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILVHTjsyMIV4THNw6yz0OxAxGnC+41gX72UrPqTzR+OS jordan@vimium.com" - ]; - hashedPasswordFile = config.age.secrets."passwords/users/jordan".path; - home = "/home/${name}"; - group = "users"; - uid = 1000; - }; - - home-manager = { - useGlobalPkgs = true; - useUserPackages = true; - - users.${config.user.name} = { - home = { - file = mkAliasDefinitions options.home.file; - stateVersion = config.system.stateVersion; - }; - programs = mkAliasDefinitions options.home.programs; - services = mkAliasDefinitions options.home.services; - xdg = { - enable = true; - configFile = mkAliasDefinitions options.home.configFile; - dataFile = mkAliasDefinitions options.home.dataFile; - }; - dconf.settings = mkAliasDefinitions options.dconf.settings; - }; - - sharedModules = [ - self.inputs.nixvim.homeManagerModules.nixvim - self.inputs.plasma-manager.homeManagerModules.plasma-manager - ]; - }; - - users.users.${config.user.name} = mkAliasDefinitions options.user; - - environment.extraInit = concatStringsSep "\n" ( - mapAttrsToList (n: v: "export ${n}=\"${v}\"") config.env - ); - }; -} diff --git a/modules/home-manager/programs/brave.nix b/modules/home-manager/programs/brave.nix deleted file mode 100644 index b04fe92..0000000 --- a/modules/home-manager/programs/brave.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -let - cfg = config.modules.programs.brave; -in -{ - options.modules.programs.brave = { - enable = lib.mkOption { - default = false; - example = true; - }; - }; - - config = lib.mkIf cfg.enable { - user.packages = with pkgs; [ - brave - ]; - }; -} diff --git a/modules/home-manager/programs/emulators.nix b/modules/home-manager/programs/emulators.nix deleted file mode 100644 index 9ea819e..0000000 --- a/modules/home-manager/programs/emulators.nix +++ /dev/null @@ -1,76 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -let - cfg = config.modules.programs.emulators; -in -{ - options.modules.programs.emulators = { - ds.enable = lib.mkOption { - default = false; - example = true; - }; - gb.enable = lib.mkOption { - default = false; - example = true; - }; - gba.enable = lib.mkOption { - default = false; - example = true; - }; - gamecube.enable = lib.mkOption { - default = false; - example = true; - }; - ps1.enable = lib.mkOption { - default = false; - example = true; - }; - ps2.enable = lib.mkOption { - default = false; - example = true; - }; - ps3.enable = lib.mkOption { - default = false; - example = true; - }; - psp.enable = lib.mkOption { - default = false; - example = true; - }; - snes.enable = lib.mkOption { - default = false; - example = true; - }; - switch.enable = lib.mkOption { - default = false; - example = true; - }; - wii.enable = lib.mkOption { - default = false; - example = true; - }; - xbox.enable = lib.mkOption { - default = false; - example = true; - }; - }; - - config = { - user.packages = with pkgs; [ - (lib.mkIf cfg.ps1.enable duckstation) - (lib.mkIf cfg.ps2.enable unstable.pcsx2) - (lib.mkIf cfg.ps3.enable rpcs3) - (lib.mkIf cfg.psp.enable unstable.ppsspp) - (lib.mkIf cfg.ds.enable desmume) - (lib.mkIf (cfg.gba.enable || cfg.gb.enable || cfg.snes.enable) higan) - (lib.mkIf cfg.switch.enable yuzuPackages.mainline) - (lib.mkIf (cfg.wii.enable || cfg.gamecube.enable) dolphin-emu) - (lib.mkIf cfg.xbox.enable unstable.xemu) - ]; - }; -} diff --git a/modules/home-manager/programs/forensics.nix b/modules/home-manager/programs/forensics.nix deleted file mode 100644 index e3b1aac..0000000 --- a/modules/home-manager/programs/forensics.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -let - cfg = config.modules.programs.forensics; -in -{ - options.modules.programs.forensics = { - enable = lib.mkOption { - default = false; - example = true; - }; - }; - - config = lib.mkIf cfg.enable { - user.packages = with pkgs; [ - acquire - afflib - autopsy - fatcat - foremost - hstsparser - networkminer - sleuthkit - testdisk-qt - tracee - ]; - }; -} diff --git a/modules/home-manager/programs/graphics.nix b/modules/home-manager/programs/graphics.nix deleted file mode 100644 index 7d7a14a..0000000 --- a/modules/home-manager/programs/graphics.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -let - cfg = config.modules.programs.graphics; -in -{ - options.modules.programs.graphics = { - modeling.enable = lib.mkOption { - default = false; - example = true; - }; - raster.enable = lib.mkOption { - default = false; - example = true; - }; - vector.enable = lib.mkOption { - default = false; - example = true; - }; - }; - - config = { - user.packages = with pkgs; [ - (lib.mkIf cfg.modeling.enable blender) - (lib.mkIf cfg.raster.enable gimp) - (lib.mkIf cfg.raster.enable krita) - (lib.mkIf cfg.vector.enable inkscape) - ]; - }; -} diff --git a/modules/home-manager/programs/libreoffice.nix b/modules/home-manager/programs/libreoffice.nix deleted file mode 100644 index c8017d7..0000000 --- a/modules/home-manager/programs/libreoffice.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -let - cfg = config.modules.programs.libreoffice; -in -# libreoffice-gtk4 = pkgs.libreoffice.override { -# extraMakeWrapperArgs = [ -# "--set SAL_USE_VCLPLUGIN gtk4" -# ]; -# unwrapped = pkgs.libreoffice-unwrapped.overrideAttrs (oldAttrs: { -# buildInputs = oldAttrs.buildInputs ++ [ -# pkgs.gtk4 -# ]; -# configureFlags = oldAttrs.configureFlags ++ [ -# "--disable-werror" -# "--enable-gtk4" -# ]; -# passthru = oldAttrs.passthru // { -# inherit (pkgs) gtk4; -# }; -# }); -# }; -{ - options.modules.programs.libreoffice = { - enable = lib.mkOption { - default = false; - example = true; - }; - }; - - config = lib.mkIf cfg.enable { - user.packages = with pkgs; [ - (if config.modules.system.desktop.kde.enable == true then libreoffice-qt else libreoffice) - hunspell - hunspellDicts.en-gb-large - hunspellDicts.en-us-large - ]; - }; -} diff --git a/modules/home-manager/programs/lutris.nix b/modules/home-manager/programs/lutris.nix deleted file mode 100644 index ef81700..0000000 --- a/modules/home-manager/programs/lutris.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -let - cfg = config.modules.programs.lutris; -in -{ - options.modules.programs.lutris = { - enable = lib.mkOption { - default = false; - example = true; - }; - }; - - config = lib.mkIf cfg.enable { - environment.systemPackages = with pkgs; [ - (lutris.override { - extraPkgs = pkgs: [ - winePackages.staging - wine64Packages.staging - ]; - }) - vulkan-loader - vulkan-tools - ]; - - hardware.graphics = { - enable = true; - enable32Bit = true; - }; - }; -} diff --git a/modules/home-manager/programs/qbittorrent.nix b/modules/home-manager/programs/qbittorrent.nix deleted file mode 100644 index 928f956..0000000 --- a/modules/home-manager/programs/qbittorrent.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -let - cfg = config.modules.programs.qbittorrent; -in -{ - options.modules.programs.qbittorrent = { - enable = lib.mkOption { - default = false; - example = true; - }; - }; - - config = lib.mkIf cfg.enable { - user.packages = with pkgs; [ - qbittorrent - ]; - }; -} diff --git a/modules/home-manager/programs/recording.nix b/modules/home-manager/programs/recording.nix deleted file mode 100644 index 4f0402f..0000000 --- a/modules/home-manager/programs/recording.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -let - cfg = config.modules.programs.recording; -in -{ - options.modules.programs.recording = { - audio.enable = lib.mkOption { - default = false; - example = true; - }; - video.enable = lib.mkOption { - default = false; - example = true; - }; - }; - - config = { - user.packages = - with pkgs; - ( - if cfg.audio.enable then - [ - ardour - audacity - ] - else - [ ] - ) - ++ ( - if cfg.video.enable then - [ - handbrake - mkvtoolnix - obs-studio - ] - else - [ ] - ); - }; -} diff --git a/modules/home-manager/programs/slack.nix b/modules/home-manager/programs/slack.nix deleted file mode 100644 index 00cda79..0000000 --- a/modules/home-manager/programs/slack.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -let - cfg = config.modules.programs.slack; -in -{ - options.modules.programs.slack = { - enable = lib.mkOption { - default = false; - example = true; - }; - }; - - config = lib.mkIf cfg.enable { - user.packages = with pkgs; [ - slack - ]; - }; -} diff --git a/modules/home-manager/programs/steam.nix b/modules/home-manager/programs/steam.nix deleted file mode 100644 index f3a3b4c..0000000 --- a/modules/home-manager/programs/steam.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ - config, - lib, - ... -}: - -let - cfg = config.modules.programs.steam; -in -{ - options.modules.programs.steam = { - enable = lib.mkOption { - default = false; - example = true; - }; - }; - - config = lib.mkIf cfg.enable { - programs.steam.enable = true; - - systemd.extraConfig = "DefaultLimitNOFILE=1048576"; - }; -} diff --git a/modules/home-manager/programs/vscode.nix b/modules/home-manager/programs/vscode.nix deleted file mode 100644 index 78ec2af..0000000 --- a/modules/home-manager/programs/vscode.nix +++ /dev/null @@ -1,56 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -let - cfg = config.modules.programs.vscode; -in -{ - options.modules.programs.vscode = { - enable = lib.mkOption { - default = false; - example = true; - }; - }; - - config = lib.mkIf cfg.enable { - environment.sessionVariables.NIXOS_OZONE_WL = "1"; - - home.programs.vscode = { - enable = true; - extensions = with pkgs.vscode-extensions; [ - asvetliakov.vscode-neovim - brettm12345.nixfmt-vscode - coolbear.systemd-unit-file - editorconfig.editorconfig - golang.go - graphql.vscode-graphql-syntax - mattn.lisp - # mkhl.direnv - ms-python.vscode-pylance - ms-vscode.cpptools - ms-vscode.hexeditor - piousdeer.adwaita-theme - # redhat.java - # sumneko.lua - ]; - userSettings = { - "editor.renderLineHighlight" = "none"; - "extensions.experimental.affinity" = { - "asvetliakov.vscode-neovim" = 1; - }; - "files.autoSave" = "off"; - "window.autoDetectColorScheme" = true; - "window.commandCenter" = true; - "window.titleBarStyle" = "custom"; - "workbench.iconTheme" = null; - "workbench.preferredDarkColorTheme" = "Adwaita Dark"; - "workbench.preferredLightColorTheme" = "Adwaita Light"; - "workbench.tree.indent" = 12; - }; - }; - }; -} diff --git a/modules/home-manager/programs/zoom.nix b/modules/home-manager/programs/zoom.nix deleted file mode 100644 index e92ee83..0000000 --- a/modules/home-manager/programs/zoom.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -let - cfg = config.modules.programs.zoom; -in -{ - options.modules.programs.zoom = { - enable = lib.mkOption { - default = false; - example = true; - }; - }; - - config = lib.mkIf cfg.enable { - user.packages = with pkgs; [ - zoom-us - ]; - }; -} diff --git a/users/jordan/graphical/default.nix b/users/jordan/graphical/default.nix index f0c59d8..2b8cfc3 100644 --- a/users/jordan/graphical/default.nix +++ b/users/jordan/graphical/default.nix @@ -1,4 +1,5 @@ { + pkgs, ... }: @@ -7,4 +8,23 @@ ./firefox.nix ./thunderbird.nix ]; + + home.packages = with pkgs; [ + # ardour + # audacity + # blender + # gimp + # handbrake + # hunspell + # hunspellDicts.en-gb-large + # hunspellDicts.en-us-large + # inkscape + # krita + # libreoffice + # mkvtoolnix + # obs-studio + qbittorrent + # slack + # zoom-us + ]; }