diff --git a/flake.lock b/flake.lock index b867e13..90716bb 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1684170997, - "narHash": "sha256-WgwqHeYv2sDA0eWghnYCUNx7dm5S8lqDVZjp7ufzm30=", + "lastModified": 1684783210, + "narHash": "sha256-hxRbwwBTu1G1u1EdI9nEo/n4HIsQIfNi+2BQ1nEoj/o=", "owner": "nix-community", "repo": "disko", - "rev": "10402e31443941b50bf62e67900743dcb26b3b27", + "rev": "f0b9f374bb42fdcd57baa7d4448ac5d4788226bd", "type": "github" }, "original": { @@ -107,11 +107,11 @@ }, "master": { "locked": { - "lastModified": 1684462699, - "narHash": "sha256-8kVG+sYe5rCUc3fr3XPxD+QfNpxRwqcyNTuFjMt2qCY=", + "lastModified": 1685068755, + "narHash": "sha256-j7h6J5ll6LG16xu95rDqEfMsOjNEyfe6xUG4grOidfc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a85a2b45908c1871c61ff7e4cb2ae7a756072c68", + "rev": "84443f97656ab4abeed2baf5976094df9af0eb40", "type": "github" }, "original": { @@ -189,11 +189,11 @@ ] }, "locked": { - "lastModified": 1683530131, - "narHash": "sha256-R0RSqj6JdZfru2x/cM19KJMHsU52OjtyxI5cccd+uFc=", + "lastModified": 1685000237, + "narHash": "sha256-pm+2xP9g9sh6wapk1ulg7/1DdENkTNDB7Kx+6lwGs/k=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "10079333313ff62446e6f2b0e7c5231c7431d269", + "rev": "05bef004794f352ea12475a89f3f55b4102c0728", "type": "github" }, "original": { @@ -236,11 +236,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1684025543, - "narHash": "sha256-hGe7S+i5je+8E/b2mOXVI9nmr038Dw+bV8e1P8xHSe0=", + "lastModified": 1684632198, + "narHash": "sha256-SdxMPd0WmU9MnDBuuy7ouR++GftrThmSGL7PCQj/uVI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c6d2f3dc0d3efd4285eebe4f8a36a47ba438138e", + "rev": "d0dade110dc7072d67ce27826cfe9ab2ab0cf247", "type": "github" }, "original": { @@ -308,11 +308,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1684032930, - "narHash": "sha256-ueeSYDii2e5bkKrsSdP12JhkW9sqgYrUghLC8aDfYGQ=", + "lastModified": 1684637723, + "narHash": "sha256-0vAxL7MVMhGbTkAyvzLvleELHjVsaS43p+PR1h9gzNQ=", "owner": "Mic92", "repo": "sops-nix", - "rev": "a376127bb5277cd2c337a9458744f370aaf2e08d", + "rev": "4ccdfb573f323a108a44c13bb7730e42baf962a9", "type": "github" }, "original": { @@ -329,11 +329,11 @@ ] }, "locked": { - "lastModified": 1684427956, - "narHash": "sha256-SP9nJgbGiGeRZtfWNeTQcxCLlO+tBgTTdf4t8MI5c1A=", + "lastModified": 1684872357, + "narHash": "sha256-10NR2inbTZnD2XfAtZ55+T8nOZo5e0TWUg3667APHco=", "owner": "the-argus", "repo": "spicetify-nix", - "rev": "3da041529b225b25417788b8466b8fbd798b712e", + "rev": "16022e436ab3fe28ff8b5272a36fcadc0845b060", "type": "github" }, "original": { @@ -344,11 +344,11 @@ }, "stable": { "locked": { - "lastModified": 1684398685, - "narHash": "sha256-TRE62m91iZ5ArVMgA+uj22Yda8JoQuuhc9uwZ+NoX+0=", + "lastModified": 1684936879, + "narHash": "sha256-BOSq/QiX7MDs8tUnAt4+nYTJctgYkzVSNL95qlfMYeM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "628d4bb6e9f4f0c30cfd9b23d3c1cdcec9d3cb5c", + "rev": "99fe1b870522d6ee3e692c2b6e663d6868a3fde4", "type": "github" }, "original": { @@ -395,11 +395,11 @@ }, "unstable": { "locked": { - "lastModified": 1684385584, - "narHash": "sha256-O7y0gK8OLIDqz+LaHJJyeu09IGiXlZIS3+JgEzGmmJA=", + "lastModified": 1684935479, + "narHash": "sha256-6QMMsXMr2nhmOPHdti2j3KRHt+bai2zw+LJfdCl97Mk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "48a0fb7aab511df92a17cf239c37f2bd2ec9ae3a", + "rev": "f91ee3065de91a3531329a674a45ddcb3467a650", "type": "github" }, "original": { diff --git a/modules/DE/dwm.nix b/modules/DE/dwm.nix index 3c327ba..d1e39d5 100644 --- a/modules/DE/dwm.nix +++ b/modules/DE/dwm.nix @@ -5,23 +5,18 @@ lib, self, ... -}: let - cfg = config.localModules.DE.dwm; - sp = inputs.suckless.packages.${pkgs.system}; -in { - options.localModules.DE.dwm = { - enable = lib.mkEnableOption ""; - }; +}: { + options.localModules.DE.dwm.enable = lib.mkEnableOption ""; - config = lib.mkIf cfg.enable { + config = lib.mkIf config.localModules.DE.dwm.enable { services.gvfs.enable = true; services.xserver = { enable = true; displayManager = { sessionCommands = '' - ${pkgs.feh}/bin/feh --bg-center ${self.packages.${pkgs.system}.images + /recursion.png} - ${pkgs.numlockx}/bin/numlockx - ${pkgs.picom}/bin/picom & + ${lib.getExe pkgs.feh} --bg-center ${self.packages.${pkgs.system}.images + /recursion.png} + ${lib.getExe pkgs.numlockx} + ${lib.getExe pkgs.picom} & ''; defaultSession = "none+dwm"; }; @@ -48,10 +43,13 @@ in { ''; }; }; - environment.systemPackages = [ - sp.dmenu - sp.dwm - sp.st - ]; + environment.systemPackages = builtins.attrValues { + inherit + (inputs.suckless.packages.${pkgs.system}) + dmenu + dwm + st + ; + }; }; } diff --git a/modules/DE/gnome.nix b/modules/DE/gnome.nix index dd8a6b0..8f54e10 100644 --- a/modules/DE/gnome.nix +++ b/modules/DE/gnome.nix @@ -3,40 +3,46 @@ lib, pkgs, ... -}: let - cfg = config.localModules.DE.gnome; -in { - options.localModules.DE.gnome = { - enable = lib.mkEnableOption ""; - }; - config = lib.mkIf cfg.enable { - environment.gnome.excludePackages = [ - pkgs.gnome-photos - pkgs.gnome-tour - pkgs.gnome-text-editor - pkgs.gnome-online-accounts +}: { + options.localModules.DE.gnome.enable = lib.mkEnableOption ""; + + config = lib.mkIf config.localModules.DE.gnome.enable { + environment = { + systemPackages = [pkgs.gnome.gnome-calculator]; + gnome.excludePackages = builtins.attrValues { + inherit + (pkgs) + gnome-photos + gnome-tour + gnome-text-editor + gnome-online-accounts + ; + inherit + (pkgs.gnome) + gnome-weather + gnome-shell + gnome-disk-utility + gnome-maps + gnome-clocks + gnome-remote-desktop + gnome-calendar + gnome-music + simple-scan + cheese # webcam tool + gedit # text editor + epiphany # web browser + geary # email reader + evince # document viewer + gnome-characters + totem # video player + tali # poker game + iagno # go game + hitori # sudoku game + atomix # puzzle game + ; + }; + }; - pkgs.gnome.gnome-weather - pkgs.gnome.gnome-shell - pkgs.gnome.gnome-disk-utility - pkgs.gnome.gnome-maps - pkgs.gnome.gnome-clocks - pkgs.gnome.gnome-remote-desktop - pkgs.gnome.gnome-calendar - pkgs.gnome.gnome-music - pkgs.gnome.simple-scan - pkgs.gnome.cheese # webcam tool - pkgs.gnome.gedit # text editor - pkgs.gnome.epiphany # web browser - pkgs.gnome.geary # email reader - pkgs.gnome.evince # document viewer - pkgs.gnome.gnome-characters - pkgs.gnome.totem # video player - pkgs.gnome.tali # poker game - pkgs.gnome.iagno # go game - pkgs.gnome.hitori # sudoku game - pkgs.gnome.atomix # puzzle game - ]; services.xserver = { enable = true; desktopManager.gnome.enable = true; diff --git a/modules/DE/xfce.nix b/modules/DE/xfce.nix index 3a068b9..8f91622 100644 --- a/modules/DE/xfce.nix +++ b/modules/DE/xfce.nix @@ -1,14 +1,13 @@ { config, lib, + pkgs, ... -}: let - cfg = config.localModules.DE.xfce; -in { - options.localModules.DE.xfce = { - enable = lib.mkEnableOption ""; - }; - config = lib.mkIf cfg.enable { +}: { + options.localModules.DE.xfce.enable = lib.mkEnableOption ""; + + config = lib.mkIf config.localModules.DE.xfce.enable { + environment.systemPackages = [pkgs.xfce.xfce4-whiskermenu-plugin]; services.xserver = { enable = true; desktopManager.xfce = { diff --git a/modules/DM/autoLogin.nix b/modules/DM/autoLogin.nix index 5db70d5..7ba257e 100644 --- a/modules/DM/autoLogin.nix +++ b/modules/DM/autoLogin.nix @@ -2,11 +2,16 @@ config, lib, ... -}: let - cfg = config.localModules.DM.autoLogin; -in { - options.localModules.DM.autoLogin = lib.mkEnableOption ""; - config = lib.mkIf cfg { +}: { + options.localModules.DM = { + autoLogin = lib.mkEnableOption ""; + loginUser = lib.mkOption { + type = lib.types.nullOr lib.types.str; + default = null; + }; + }; + + config = lib.mkIf config.localModules.DM.autoLogin { services.xserver.displayManager = { autoLogin = { enable = true; diff --git a/modules/DM/lightDM.nix b/modules/DM/lightDM.nix index d24f5b3..27c75a1 100644 --- a/modules/DM/lightDM.nix +++ b/modules/DM/lightDM.nix @@ -4,13 +4,10 @@ self, pkgs, ... -}: let - cfg = config.localModules.DM.lightdm; -in { - options.localModules.DM.lightdm = { - enable = lib.mkEnableOption ""; - }; - config = lib.mkIf cfg.enable { +}: { + options.localModules.DM.lightdm.enable = lib.mkEnableOption ""; + + config = lib.mkIf config.localModules.DM.lightdm.enable { services.xserver = { displayManager = { lightdm = { diff --git a/modules/DM/misc.nix b/modules/DM/misc.nix deleted file mode 100644 index cae18eb..0000000 --- a/modules/DM/misc.nix +++ /dev/null @@ -1,6 +0,0 @@ -{lib, ...}: { - options.localModules.DM.loginUser = lib.mkOption { - type = lib.types.nullOr lib.types.str; - default = null; - }; -} diff --git a/modules/boot/misc.nix b/modules/boot/misc.nix index 8986dec..1bac238 100644 --- a/modules/boot/misc.nix +++ b/modules/boot/misc.nix @@ -1,13 +1,24 @@ { self, lib, + pkgs, ... }: { + environment.etc = { + "issue" = { + text = "[?12l[?25h"; + mode = "0444"; + }; + }; boot = { + blacklistedKernelModules = ["pcspkr"]; + kernelParams = ["fbcon=nodefer" "bgrt_disable" "quiet" "systemd.show_status=false" "rd.udev.log_level=3" "vt.global_cursor_default=0"]; + consoleLogLevel = 3; + initrd.verbose = false; plymouth = { enable = lib.mkDefault true; theme = "breeze"; - logo = self + /misc/nixos.png; + logo = self.packages.${pkgs.system}.images + /logo.png; }; loader = { grub.configurationLimit = 10; diff --git a/modules/boot/silent.nix b/modules/boot/silent.nix deleted file mode 100644 index b080f67..0000000 --- a/modules/boot/silent.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ - environment.etc = { - "issue" = { - text = "[?12l[?25h"; - mode = "0444"; - }; - }; - boot = { - blacklistedKernelModules = ["pcspkr"]; - kernelParams = ["fbcon=nodefer" "bgrt_disable" "quiet" "systemd.show_status=false" "rd.udev.log_level=3" "vt.global_cursor_default=0"]; - consoleLogLevel = 3; - initrd.verbose = false; - }; -} diff --git a/modules/git.nix b/modules/git.nix index 6eb327c..8909cb5 100644 --- a/modules/git.nix +++ b/modules/git.nix @@ -3,16 +3,13 @@ config, lib, ... -}: let - cfg = config.localModules.git; -in { - options.localModules.git = { - disable = lib.mkOption { - type = lib.types.bool; - default = false; - }; +}: { + options.localModules.git.disable = lib.mkOption { + type = lib.types.bool; + default = false; }; - config = lib.mkIf (! cfg.disable) { + + config = lib.mkIf (! config.localModules.git.disable) { programs.git = { enable = true; package = pkgs.gitMinimal; diff --git a/modules/misc.nix b/modules/misc.nix index 51a3f16..30d442f 100644 --- a/modules/misc.nix +++ b/modules/misc.nix @@ -1,24 +1,49 @@ -{lib, ...}: { +{ + lib, + config, + pkgs, + ... +}: { options = { dummyvalue = lib.mkOption { default = {}; type = lib.configType; }; - }; - config = { - #enable ssh - programs.mtr.enable = true; #ping and traceroute - services.openssh = { - enable = true; - hostKeys = lib.mkForce []; - settings = { - PermitRootLogin = "yes"; - PasswordAuthentication = false; - KbdInteractiveAuthentication = false; - }; + nixpkgs.allowedUnfree = lib.mkOption { + type = lib.types.listOf lib.types.string; + default = []; }; - i18n.defaultLocale = "en_US.UTF-8"; - #time settings - time.timeZone = "America/New_York"; }; + + config = lib.mkMerge [ + (lib.mkIf (config.nixpkgs.allowedUnfree != []) { + nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) config.nixpkgs.allowedUnfree; + }) + { + environment.defaultPackages = lib.mkForce [ + pkgs.efibootmgr #efi editor + pkgs.pciutils #lspci + pkgs.alsa-utils #volume control + pkgs.xclip #commandline clipboard access + pkgs.bottom #view tasks + pkgs.nix-tree #view packages + pkgs.nix-output-monitor #nom nom nom nom]; + ]; + + #enable ssh + programs.mtr.enable = true; #ping and traceroute + services.openssh = { + enable = true; + hostKeys = lib.mkForce []; + settings = { + PermitRootLogin = "yes"; + PasswordAuthentication = false; + KbdInteractiveAuthentication = false; + }; + }; + i18n.defaultLocale = "en_US.UTF-8"; + #time settings + time.timeZone = "America/New_York"; + } + ]; } diff --git a/modules/packages.nix b/modules/packages.nix deleted file mode 100644 index dfb3c98..0000000 --- a/modules/packages.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ - pkgs, - lib, - ... -}: { - environment.defaultPackages = lib.mkForce [ - pkgs.efibootmgr #efi editor - pkgs.pciutils #lspci - pkgs.alsa-utils #volume control - pkgs.xclip #commandline clipboard access - pkgs.bottom #view tasks - pkgs.nix-tree #view packages - pkgs.nix-output-monitor #nom nom nom nom]; - ]; -} diff --git a/modules/shell.nix b/modules/shell.nix index 1baca6e..72c0676 100644 --- a/modules/shell.nix +++ b/modules/shell.nix @@ -2,21 +2,24 @@ inputs, pkgs, config, + lib, ... }: { - #put: - #source /run/current-system/sw/share/nix-direnv/direnvrc - #in ~/.direnvrc - #do i need to do this^? environment = { - systemPackages = [ - pkgs.page - pkgs.exa - pkgs.direnv - pkgs.nix-direnv - inputs.fetch-rs.packages.${pkgs.system}.default - ]; - binsh = "${pkgs.dash}/bin/dash"; #use dash for speed + systemPackages = builtins.attrValues { + inherit + (pkgs) + page + exa + direnv + nix-direnv + ; + inherit + (inputs.fetch-rs.packages.${pkgs.system}) + default + ; + }; + binsh = lib.getExe pkgs.dash; #use dash for speed variables = { EDITOR = "nvim"; VISUAL = "nvim"; diff --git a/modules/unfree.nix b/modules/unfree.nix deleted file mode 100644 index be83ae0..0000000 --- a/modules/unfree.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ - config, - lib, - ... -}: let - allowed = config.nixpkgs.allowedUnfree; -in { - options.nixpkgs = { - allowedUnfree = lib.mkOption { - type = lib.types.listOf lib.types.string; - default = []; - description = '' - Allows for unfree packages by their name. - ''; - }; - }; - - config = lib.mkMerge [ - (lib.mkIf (allowed != []) {nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) allowed;}) - ]; -} diff --git a/pkgs/images.nix b/pkgs/images.nix index 5299441..2e98302 100644 --- a/pkgs/images.nix +++ b/pkgs/images.nix @@ -3,7 +3,7 @@ runCommand, imagemagick, }: -runCommand "my-example" { +runCommand "images" { recursion = fetchurl { url = "https://github.com/NixOS/nixos-artwork/raw/bcdd2770f5f4839fddc9b503e68db2bc3a87ca4d/wallpapers/nix-wallpaper-recursive.png"; sha256 = "sha256-YvFrlysNGMwJ7eMFOoz0KI8AjoPN3ao+AVOgnVZzkFE="; diff --git a/systems/gerg-desktop/default.nix b/systems/gerg-desktop/default.nix index 1a929c3..04bd174 100644 --- a/systems/gerg-desktop/default.nix +++ b/systems/gerg-desktop/default.nix @@ -40,29 +40,22 @@ nix.settings.system-features = ["kvm" "big-parallel" "nixos-test" "benchmark"]; environment = { - systemPackages = [ - inputs.nvim-flake.packages.${pkgs.system}.default - pkgs.bitwarden #store stuff - pkgs.qbittorrent #steal stuff - pkgs.pavucontrol #gui volume control - pkgs.pcmanfm #file manager - pkgs.librewolf #best browser - pkgs.vlc #play stuff - pkgs.ripgrep - pkgs.xautoclick - # wrap webcord to remove state file https://github.com/SpacingBat3/WebCord/issues/360 - (pkgs.symlinkJoin { - name = "webcord-wrapper"; - nativeBuildInputs = [pkgs.makeWrapper]; - paths = [ - pkgs.webcord - ]; - postBuild = '' - wrapProgram "$out/bin/webcord" --run 'rm -f $HOME/.config/WebCord/windowState.json' - ''; - }) - pkgs.prismlauncher - ]; + systemPackages = builtins.attrValues { + inherit + (pkgs) + bitwarden #store stuff + qbittorrent #steal stuff + pavucontrol #gui volume control + pcmanfm #file manager + librewolf #best browser + vlc #play stuff + ripgrep + xautoclick + webcord + prismlauncher + ; + inherit (inputs.nvim-flake.packages.${pkgs.system}) default; + }; etc = { "jdks/17".source = pkgs.openjdk17 + /bin; "jdks/8".source = pkgs.openjdk8 + /bin; diff --git a/systems/moms-laptop/default.nix b/systems/moms-laptop/default.nix index dd42875..06c3523 100644 --- a/systems/moms-laptop/default.nix +++ b/systems/moms-laptop/default.nix @@ -17,16 +17,17 @@ }; }; - environment.systemPackages = [ - pkgs.neovim - pkgs.vlc - pkgs.nomacs - pkgs.gnome.gnome-calculator - pkgs.xfce.xfce4-whiskermenu-plugin - pkgs.rsync - pkgs.pavucontrol #gui volume control - pkgs.librewolf #best browser - ]; + environment.systemPackages = builtins.attrValues { + inherit + (pkgs) + neovim + vlc + nomacs + rsync + pavucontrol #gui volume control + librewolf #best browser + ; + }; services.xserver.videoDrivers = ["intel"]; networking = { hostName = "moms-laptop";