diff --git a/flake.lock b/flake.lock index b514e2c..3577110 100644 --- a/flake.lock +++ b/flake.lock @@ -980,7 +980,8 @@ "nvim-treesitter-textsubjects": "nvim-treesitter-textsubjects", "pre-commit-hooks": "pre-commit-hooks", "smartcolumn-nvim": "smartcolumn-nvim", - "stable": "stable" + "stable": "stable", + "utils": "utils" } }, "rust-overlay": { @@ -1082,6 +1083,26 @@ "type": "github" } }, + "utils": { + "inputs": { + "flake-utils": [ + "flake-utils" + ] + }, + "locked": { + "lastModified": 1657226504, + "narHash": "sha256-GIYNjuq4mJlFgqKsZ+YrgzWm0IpA4axA3MCrdKYj7gs=", + "owner": "gytis-ivaskevicius", + "repo": "flake-utils-plus", + "rev": "2bf0f91643c2e5ae38c1b26893ac2927ac9bd82a", + "type": "github" + }, + "original": { + "owner": "gytis-ivaskevicius", + "repo": "flake-utils-plus", + "type": "github" + } + }, "wlroots": { "flake": false, "locked": { diff --git a/flake.nix b/flake.nix index dde8687..19877ec 100644 --- a/flake.nix +++ b/flake.nix @@ -13,6 +13,8 @@ stable.url = "github:nixos/nixpkgs/nixos-22.11"; flake-utils.url = "github:numtide/flake-utils"; + utils.url = "github:gytis-ivaskevicius/flake-utils-plus"; + utils.inputs.flake-utils.follows = "flake-utils"; agenix.inputs.nixpkgs.follows = "nixpkgs"; agenix.url = "github:ryantm/agenix"; @@ -77,51 +79,58 @@ ║ Outputs ║ ╚══════════════════════════════════════════════════════════╝ */ - outputs = inputs@{ self, nixpkgs, ... }: - let - systems = [ "x86_64-linux" "aarch64-linux" ]; + outputs = + inputs@{ self, nixpkgs, utils, ... }: + utils.lib.mkFlake { + inherit self inputs; - forEachSystem = lib.genAttrs systems; + supportedSystems = [ "x86_64-linux" ]; + + channelsConfig.allowUnfree = true; lib = nixpkgs.lib.extend (self: _: { my = import ./lib { lib = self; }; }); + /* + ╔══════════════════════════════════════════════════════════╗ + ║ Overlays ║ + ╚══════════════════════════════════════════════════════════╝ + */ overlay = import ./overlays { inherit inputs; inherit (self) lib; }; - config.allowUnfree = true; - - overlays = [ + channels.nixpkgs.overlaysBuilder = _: [ inputs.hypr-contrib.overlays.default inputs.hyprland.overlays.default inputs.neovim-nightly-overlay.overlay - overlay + inputs.utils.overlay + self.overlay ]; - pkgsFor = system: import nixpkgs { - inherit system config; - overlays = overlays ++ [ - ( - _: prev: { - master = import inputs.master { - inherit (prev) system; - inherit overlays config; - }; - stable = import inputs.stable { - inherit (prev) system; - inherit overlays config; - }; - } - ) - overlay - ]; + overlays = utils.lib.exportOverlays + { + inherit (self) pkgs inputs; + } // { + default = self.overlay; }; - defaultModules = [ - { nixpkgs = { inherit config; }; } - ./modules + /* + ╔══════════════════════════════════════════════════════════╗ + ║ Modules ║ + ╚══════════════════════════════════════════════════════════╝ + */ + nixosModules = utils.lib.exportModules [ + ./modules/profiles/base.nix + ./modules/profiles/gaming.nix + ./modules/profiles/desktop.nix + ./modules/profiles/personal.nix + ]; + + hostDefaults.modules = [ + ./modules/default.nix + self.nixosModules.base inputs.home-manager.nixosModule { home-manager = { @@ -133,66 +142,50 @@ inputs.agenix.nixosModules.age ]; - hosts = self.lib.my.mapModules - (path: - let - system = import "${path}/system.nix"; - pkgs = pkgsFor system; - in - lib.nixosSystem { - inherit pkgs system lib; - specialArgs = { - inherit inputs; - }; - modules = defaultModules ++ [ path ]; - }) - ./hosts; - pre-commit-check = system: inputs.pre-commit-hooks.lib."${system}".run { - src = ./.; - hooks = { - nixpkgs-fmt.enable = true; - statix.enable = true; - shellcheck.enable = true; - stylua.enable = true; + hosts.nixos-laptop.modules = [ + ./hosts/nixos-laptop + self.nixosModules.desktop + self.nixosModules.personal + ]; + + + hosts.nixos-desktop.modules = [ + ./hosts/nixos-desktop + self.nixosModules.desktop + self.nixosModules.gaming + self.nixosModules.personal + ]; + + /* + ╔══════════════════════════════════════════════════════════╗ + ║ Other Outputs ║ + ╚══════════════════════════════════════════════════════════╝ + */ + outputsBuilder = channels: + with channels.nixpkgs; { + devShells.default = mkShell { + inherit (self.checks.${system}.pre-commit-check) shellHook; + name = "dotfiles"; + packages = [ + # Secrets + pkgs.agenix + # cachix + cachix + ]; + }; + + checks.pre-commit-check = inputs.pre-commit-hooks.lib."${system}".run { + src = ./.; + hooks = { + nixpkgs-fmt.enable = true; + statix.enable = true; + shellcheck.enable = true; + stylua.enable = true; + }; + }; + + packages = utils.lib.exportPackages self.overlays channels; }; - }; - in - with lib; { - inherit lib; - - pkgs = genAttrs systems pkgsFor; - - # ╔══════════════════════════════════════════════════════════╗ - # ║ NixOS Configurations ║ - # ╚══════════════════════════════════════════════════════════╝ - - nixosConfigurations = hosts; - - # ╔══════════════════════════════════════════════════════════╗ - # ║ Other Outputs ║ - # ╚══════════════════════════════════════════════════════════╝ - - devShells = forEachSystem (system: - let - pkgs = pkgsFor system; - in - { - default = pkgs.mkShell - { - inherit (pre-commit-check system) shellHook; - name = "dotfiles"; - packages = with pkgs; [ - # Secrets - agenix - # cachix - cachix - ]; - }; - }); - - checks = forEachSystem (system: { - pre-commit-check = pre-commit-check system; - }); }; } diff --git a/hosts/nixos-desktop/default.nix b/hosts/nixos-desktop/default.nix index f0c06dd..b88a65e 100644 --- a/hosts/nixos-desktop/default.nix +++ b/hosts/nixos-desktop/default.nix @@ -10,13 +10,7 @@ # Include the results of the hardware scan. ./hardware-configuration.nix ]; - my = { - profiles = { - desktop.enable = true; - gaming.enable = true; - personal.enable = true; - }; programs.hyprland.nvidiaSupport = true; services.mullvad.enable = true; programs.ledger.enable = true; diff --git a/hosts/nixos-desktop/system.nix b/hosts/nixos-desktop/system.nix deleted file mode 100644 index 132026a..0000000 --- a/hosts/nixos-desktop/system.nix +++ /dev/null @@ -1 +0,0 @@ -"x86_64-linux" diff --git a/hosts/nixos-laptop/default.nix b/hosts/nixos-laptop/default.nix index f58998f..42c242c 100644 --- a/hosts/nixos-laptop/default.nix +++ b/hosts/nixos-laptop/default.nix @@ -10,11 +10,6 @@ ./hardware-configuration.nix ]; - my.profiles = { - desktop.enable = true; - personal.enable = true; - }; - # BOOT boot = { supportedFilesystems = [ "btrfs" ]; diff --git a/hosts/nixos-laptop/system.nix b/hosts/nixos-laptop/system.nix deleted file mode 100644 index 132026a..0000000 --- a/hosts/nixos-laptop/system.nix +++ /dev/null @@ -1 +0,0 @@ -"x86_64-linux" diff --git a/lib/default.nix b/lib/default.nix index a19b79b..f7a8b1c 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -47,34 +47,4 @@ lib.makeExtensible (_: rec { mapModules' = f: dir: lib.attrValues (mapModules f dir); listModules = mapModules' (path: path); - - mapModulesRec = f: dir: - let - filterDirs = name: type: - let - isPublic = !(lib.hasPrefix "_" name); - isSomething = type != null; - isDir = type == "directory"; - isDefault = isDir && builtins.pathExists "${toString dir}/${name}/default.nix"; - in - isPublic && isSomething && isDir && !isDefault; - - subDirs = lib.filterAttrs filterDirs (builtins.readDir dir); - - mkSubModule = name: _: - let - path = "${toString dir}/${name}"; - in - lib.nameValuePair name (mapModulesRec f path); - in - mapModules f dir // - (lib.mapAttrs' mkSubModule subDirs); - - mapModulesRec' = f: dir: - let - attrValuesRec = attrs: map (values: if lib.isAttrs values then attrValuesRec values else values) (lib.attrValues attrs); - in - lib.flatten (attrValuesRec (mapModulesRec f dir)); - - listModulesRec = mapModulesRec' (path: path); }) diff --git a/modules/config/bin/_cycleSinks.nix b/modules/config/bin/cycleSinks.nix similarity index 100% rename from modules/config/bin/_cycleSinks.nix rename to modules/config/bin/cycleSinks.nix diff --git a/modules/config/bin/default.nix b/modules/config/bin/default.nix index abf3926..5cbf5ed 100644 --- a/modules/config/bin/default.nix +++ b/modules/config/bin/default.nix @@ -7,10 +7,10 @@ with lib; let cfg = config.my.bin; - cycleSinks = import ./_cycleSinks.nix { inherit pkgs; }; - protonge = import ./_protonge.nix { inherit pkgs; }; - share = import ./_share.nix { inherit pkgs; }; - sxhkdHelp = import ./_sxhkdHelp.nix { inherit pkgs; }; + cycleSinks = import ./cycleSinks.nix { inherit pkgs; }; + protonge = import ./protonge.nix { inherit pkgs; }; + share = import ./share.nix { inherit pkgs; }; + sxhkdHelp = import ./sxhkdHelp.nix { inherit pkgs; }; in { options.my.bin.enable = mkEnableOption "bin"; diff --git a/modules/config/bin/_protonge.nix b/modules/config/bin/protonge.nix similarity index 100% rename from modules/config/bin/_protonge.nix rename to modules/config/bin/protonge.nix diff --git a/modules/config/bin/_share.nix b/modules/config/bin/share.nix similarity index 100% rename from modules/config/bin/_share.nix rename to modules/config/bin/share.nix diff --git a/modules/config/bin/_sxhkdHelp.nix b/modules/config/bin/sxhkdHelp.nix similarity index 100% rename from modules/config/bin/_sxhkdHelp.nix rename to modules/config/bin/sxhkdHelp.nix diff --git a/modules/config/default.nix b/modules/config/default.nix new file mode 100644 index 0000000..1a044e4 --- /dev/null +++ b/modules/config/default.nix @@ -0,0 +1,5 @@ +{ lib, ... }: + +{ + imports = lib.my.listModules ./.; +} diff --git a/modules/config/theming/catppuccin-frappe.nix b/modules/config/theming/catppuccin-frappe.nix index 0a98a0f..6be8d62 100644 --- a/modules/config/theming/catppuccin-frappe.nix +++ b/modules/config/theming/catppuccin-frappe.nix @@ -6,7 +6,7 @@ let in { config = mkIf (cfg.enable && cfg.scheme == "catppuccin-frappe") - (import ./_catppuccin.nix + (import ./catppuccin.nix { inherit config lib pkgs; flavor = "mocha"; diff --git a/modules/config/theming/catppuccin-latte.nix b/modules/config/theming/catppuccin-latte.nix index 3c64d83..96051cb 100644 --- a/modules/config/theming/catppuccin-latte.nix +++ b/modules/config/theming/catppuccin-latte.nix @@ -6,7 +6,7 @@ let in { config = mkIf (cfg.enable && cfg.scheme == "catppuccin-latte") - (import ./_catppuccin.nix + (import ./catppuccin.nix { inherit config lib pkgs; flavor = "mocha"; diff --git a/modules/config/theming/catppuccin-macchiato.nix b/modules/config/theming/catppuccin-macchiato.nix index f65449f..c8e0a6c 100644 --- a/modules/config/theming/catppuccin-macchiato.nix +++ b/modules/config/theming/catppuccin-macchiato.nix @@ -6,7 +6,7 @@ let in { config = mkIf (cfg.enable && cfg.scheme == "catppuccin-macchiato") - (import ./_catppuccin.nix + (import ./catppuccin.nix { inherit config lib pkgs; flavor = "mocha"; diff --git a/modules/config/theming/catppuccin-mocha.nix b/modules/config/theming/catppuccin-mocha.nix index 732ab23..4cfc510 100644 --- a/modules/config/theming/catppuccin-mocha.nix +++ b/modules/config/theming/catppuccin-mocha.nix @@ -6,7 +6,7 @@ let in { config = mkIf (cfg.enable && cfg.scheme == "catppuccin-mocha") - (import ./_catppuccin.nix + (import ./catppuccin.nix { inherit config lib pkgs; flavor = "mocha"; diff --git a/modules/config/theming/_catppuccin.nix b/modules/config/theming/catppuccin.nix similarity index 100% rename from modules/config/theming/_catppuccin.nix rename to modules/config/theming/catppuccin.nix diff --git a/modules/config/wallpapers/default.nix b/modules/config/wallpapers.nix similarity index 100% rename from modules/config/wallpapers/default.nix rename to modules/config/wallpapers.nix diff --git a/modules/config/wallpapers/wallpapers/a_short_walk.png b/modules/config/wallpapers/a_short_walk.png similarity index 100% rename from modules/config/wallpapers/wallpapers/a_short_walk.png rename to modules/config/wallpapers/a_short_walk.png diff --git a/modules/config/wallpapers/wallpapers/blender_pink_blue.jpg b/modules/config/wallpapers/blender_pink_blue.jpg similarity index 100% rename from modules/config/wallpapers/wallpapers/blender_pink_blue.jpg rename to modules/config/wallpapers/blender_pink_blue.jpg diff --git a/modules/config/wallpapers/wallpapers/elephants.jpg b/modules/config/wallpapers/elephants.jpg similarity index 100% rename from modules/config/wallpapers/wallpapers/elephants.jpg rename to modules/config/wallpapers/elephants.jpg diff --git a/modules/config/wallpapers/wallpapers/forest_road.jpg b/modules/config/wallpapers/forest_road.jpg similarity index 100% rename from modules/config/wallpapers/wallpapers/forest_road.jpg rename to modules/config/wallpapers/forest_road.jpg diff --git a/modules/config/wallpapers/wallpapers/little-ships.png b/modules/config/wallpapers/little-ships.png similarity index 100% rename from modules/config/wallpapers/wallpapers/little-ships.png rename to modules/config/wallpapers/little-ships.png diff --git a/modules/config/wallpapers/wallpapers/old-hardware.jpg b/modules/config/wallpapers/old-hardware.jpg similarity index 100% rename from modules/config/wallpapers/wallpapers/old-hardware.jpg rename to modules/config/wallpapers/old-hardware.jpg diff --git a/modules/config/wallpapers/wallpapers/stardust.jpg b/modules/config/wallpapers/stardust.jpg similarity index 100% rename from modules/config/wallpapers/wallpapers/stardust.jpg rename to modules/config/wallpapers/stardust.jpg diff --git a/modules/config/wallpapers/wallpapers/whale_in_sky.jpg b/modules/config/wallpapers/whale_in_sky.jpg similarity index 100% rename from modules/config/wallpapers/wallpapers/whale_in_sky.jpg rename to modules/config/wallpapers/whale_in_sky.jpg diff --git a/modules/default.nix b/modules/default.nix index 70fe578..6e3b243 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -1,4 +1,9 @@ -{ lib, ... }: { - imports = lib.my.listModulesRec ./.; + imports = [ + ./config + ./programs + ./security + ./services + ./virtualisation + ]; } diff --git a/modules/profiles/desktop.nix b/modules/profiles/desktop.nix index 678df5c..ac348a0 100644 --- a/modules/profiles/desktop.nix +++ b/modules/profiles/desktop.nix @@ -1,83 +1,73 @@ { lib -, config , pkgs , ... }: - -with lib; -let - cfg = config.my.profiles.desktop; -in -{ - options.my.profiles.desktop.enable = mkEnableOption "desktop profile"; - - config = mkIf cfg.enable { - my = { - yubikey = { +with lib; { + my = { + yubikey = { + enable = mkDefault true; + luksSupport = { enable = mkDefault true; - luksSupport = { - enable = mkDefault true; - devices = mkDefault [ "enc" ]; - }; - }; - wallpapers.enable = mkDefault true; - theming = { - enable = mkDefault true; - scheme = mkDefault "catppuccin-macchiato"; - }; - virtualisation.podman.enable = mkDefault true; - - programs = { - chromium.enable = mkDefault true; - firefox.enable = mkDefault true; - gpg.enable = mkDefault true; - hyprland.enable = mkDefault true; - logseq.enable = mkDefault true; - nvim.enable = mkDefault true; - python.versions."311".enable = mkDefault true; - spotify.enable = mkDefault true; - ssh.enable = mkDefault true; - thunar.enable = mkDefault true; - wallpaper.enable = mkDefault true; - zathura.enable = mkDefault true; - }; - services = { - dunst.enable = mkDefault true; - gammastep.enable = true; - kdeconnect.enable = mkDefault true; - printing.enable = true; - wireguard.enable = true; + devices = mkDefault [ "enc" ]; }; }; + wallpapers.enable = mkDefault true; + theming = { + enable = mkDefault true; + scheme = mkDefault "catppuccin-macchiato"; + }; + virtualisation.podman.enable = mkDefault true; - environment.systemPackages = with pkgs; [ - anki - calibre - keepassxc - nixpkgs-review - pavucontrol - stable.libreoffice # HACK to fix build error - stable.signal-desktop - texlive.combined.scheme-full - thunderbird - vlc - ]; - - programs.nix-ld.enable = true; - - home-manager.users.moritz = { - services.nextcloud-client = { - enable = true; - startInBackground = true; - }; + programs = { + chromium.enable = mkDefault true; + firefox.enable = mkDefault true; + gpg.enable = mkDefault true; + hyprland.enable = mkDefault true; + logseq.enable = mkDefault true; + nvim.enable = mkDefault true; + python.versions."311".enable = mkDefault true; + spotify.enable = mkDefault true; + ssh.enable = mkDefault true; + thunar.enable = mkDefault true; + wallpaper.enable = mkDefault true; + zathura.enable = mkDefault true; }; services = { - gnome.gnome-keyring.enable = true; - pipewire = { - enable = true; - alsa.enable = true; - pulse.enable = true; - }; + dunst.enable = mkDefault true; + gammastep.enable = true; + kdeconnect.enable = mkDefault true; + printing.enable = true; + wireguard.enable = true; + }; + }; + + environment.systemPackages = with pkgs; [ + anki + calibre + keepassxc + nixpkgs-review + pavucontrol + stable.libreoffice # HACK to fix build error + stable.signal-desktop + texlive.combined.scheme-full + thunderbird + vlc + ]; + + programs.nix-ld.enable = true; + + home-manager.users.moritz = { + services.nextcloud-client = { + enable = true; + startInBackground = true; + }; + }; + services = { + gnome.gnome-keyring.enable = true; + pipewire = { + enable = true; + alsa.enable = true; + pulse.enable = true; }; }; } diff --git a/modules/profiles/gaming.nix b/modules/profiles/gaming.nix index bf493fd..e773f20 100644 --- a/modules/profiles/gaming.nix +++ b/modules/profiles/gaming.nix @@ -1,23 +1,11 @@ -{ lib -, config -, pkgs +{ pkgs , ... -}: - -with lib; -let - cfg = config.my.profiles.gaming; -in -{ - options.my.profiles.gaming.enable = mkEnableOption "Enable gaming profile"; - - config = mkIf cfg.enable { - programs.steam.enable = true; - environment.systemPackages = with pkgs; [ - lutris - legendary-gl - heroic - mangohud - ]; - }; +}: { + programs.steam.enable = true; + environment.systemPackages = with pkgs; [ + lutris + legendary-gl + heroic + mangohud + ]; } diff --git a/modules/profiles/personal.nix b/modules/profiles/personal.nix index 37cca50..2b227c3 100644 --- a/modules/profiles/personal.nix +++ b/modules/profiles/personal.nix @@ -1,74 +1,63 @@ -{ lib -, config -, ... -}: +{ lib, ... }: with lib; -let - cfg = config.my.profiles.personal; -in { - options.my.profiles.personal.enable = mkEnableOption "personal profile"; + my = { + services = { + openconnect.enable = true; + synology-drive.enable = true; + }; + programs = { + ssh.includeSecrets = mkDefault [ ../../secrets/ssh-home.age ]; + git.signing = mkDefault true; + hub.enable = mkDefault true; + firefox.arkenfox = { + enable = mkDefault true; + overrides = mkDefault { + ## arkenfox overrides + # automatic search + "keyword.enabled" = true; + "browser.search.suggest.enabled" = true; + "browser.urlbar.suggest.searches" = true; - config = mkIf cfg.enable - { - my = { - services = { - openconnect.enable = true; - synology-drive.enable = true; - }; - programs = { - ssh.includeSecrets = mkDefault [ ../../secrets/ssh-home.age ]; - git.signing = mkDefault true; - hub.enable = mkDefault true; - firefox.arkenfox = { - enable = mkDefault true; - overrides = mkDefault { - ## arkenfox overrides - # automatic search - "keyword.enabled" = true; - "browser.search.suggest.enabled" = true; - "browser.urlbar.suggest.searches" = true; + # startup page + "browser.startup.homepage" = "https://searxng.moritzboeh.me/"; + "browser.startup.page" = 1; - # startup page - "browser.startup.homepage" = "https://searxng.moritzboeh.me/"; - "browser.startup.page" = 1; + # drm + "media.eme.enabled" = true; - # drm - "media.eme.enabled" = true; + # sanitisation + "privacy.clearOnShutdown.history" = false; - # sanitisation - "privacy.clearOnShutdown.history" = false; + # disable letterboxing + "privacy.resistFingerprinting.letterboxing" = false; - # disable letterboxing - "privacy.resistFingerprinting.letterboxing" = false; + ## OTHER + # Dont show warning when accessing about:config + "browser.aboutConfig.showWarning" = false; - ## OTHER - # Dont show warning when accessing about:config - "browser.aboutConfig.showWarning" = false; + # Hide bookmarks + "browser.toolbars.bookmarks.visibility" = "never"; - # Hide bookmarks - "browser.toolbars.bookmarks.visibility" = "never"; - - # Smooth scrolling - "general.smoothScroll.lines.durationMaxMS" = 125; - "general.smoothScroll.lines.durationMinMS" = 125; - "general.smoothScroll.mouseWheel.durationMaxMS" = 200; - "general.smoothScroll.mouseWheel.durationMinMS" = 100; - "general.smoothScroll.msdPhysics.enabled" = true; - "general.smoothScroll.other.durationMaxMS" = 125; - "general.smoothScroll.other.durationMinMS" = 125; - "general.smoothScroll.pages.durationMaxMS" = 125; - "general.smoothScroll.pages.durationMinMS" = 125; - "mousewheel.min_line_scroll_amount" = 40; - "mousewheel.system_scroll_override_on_root_content.enabled" = true; - "mousewheel.system_scroll_override_on_root_content.horizontal.factor" = 175; - "mousewheel.system_scroll_override_on_root_content.vertical.factor" = 175; - "toolkit.scrollbox.horizontalScrollDistance" = 6; - "toolkit.scrollbox.verticalScrollDistance" = 2; - }; - }; + # Smooth scrolling + "general.smoothScroll.lines.durationMaxMS" = 125; + "general.smoothScroll.lines.durationMinMS" = 125; + "general.smoothScroll.mouseWheel.durationMaxMS" = 200; + "general.smoothScroll.mouseWheel.durationMinMS" = 100; + "general.smoothScroll.msdPhysics.enabled" = true; + "general.smoothScroll.other.durationMaxMS" = 125; + "general.smoothScroll.other.durationMinMS" = 125; + "general.smoothScroll.pages.durationMaxMS" = 125; + "general.smoothScroll.pages.durationMinMS" = 125; + "mousewheel.min_line_scroll_amount" = 40; + "mousewheel.system_scroll_override_on_root_content.enabled" = true; + "mousewheel.system_scroll_override_on_root_content.horizontal.factor" = 175; + "mousewheel.system_scroll_override_on_root_content.vertical.factor" = 175; + "toolkit.scrollbox.horizontalScrollDistance" = 6; + "toolkit.scrollbox.verticalScrollDistance" = 2; }; }; }; + }; } diff --git a/modules/profiles/ripping.nix b/modules/profiles/ripping.nix index d01d1ac..61289f9 100644 --- a/modules/profiles/ripping.nix +++ b/modules/profiles/ripping.nix @@ -1,23 +1,10 @@ -{ lib -, config -, pkgs -, ... -}: - -with lib; -let - cfg = config.my.profiles.ripping; -in +{ pkgs }: { - options.my.profiles.ripping.enable = mkEnableOption "ripping profile"; - - config = mkIf cfg.enable { - environment.systemPackages = with pkgs; [ - # ripping - abcde - handbrake - picard - ]; - }; + environment.systemPackages = with pkgs; [ + # ripping + abcde + handbrake + picard + ]; } diff --git a/modules/programs/default.nix b/modules/programs/default.nix new file mode 100644 index 0000000..1a044e4 --- /dev/null +++ b/modules/programs/default.nix @@ -0,0 +1,5 @@ +{ lib, ... }: + +{ + imports = lib.my.listModules ./.; +} diff --git a/modules/programs/hyprland/_config.nix b/modules/programs/hyprland/config.nix similarity index 100% rename from modules/programs/hyprland/_config.nix rename to modules/programs/hyprland/config.nix diff --git a/modules/programs/hyprland/default.nix b/modules/programs/hyprland/default.nix index 42f39c6..654a13a 100644 --- a/modules/programs/hyprland/default.nix +++ b/modules/programs/hyprland/default.nix @@ -48,7 +48,7 @@ in enable = true; package = hyprland; recommendedEnvironment = true; - extraConfig = import ./_config.nix args; + extraConfig = import ./config.nix args; }; }; diff --git a/modules/programs/wallpaper/wallpaper.sh b/modules/programs/wallpaper/wallpaper.sh index 2cc7e17..5b52710 100644 --- a/modules/programs/wallpaper/wallpaper.sh +++ b/modules/programs/wallpaper/wallpaper.sh @@ -5,7 +5,7 @@ WALLPAPERS=$(find "$WALLPAPERS_PATH" -type f,l) function help() { echo "Usage:" - echo -e " wallpaper [OPTIONS] [PATH]" + echo -e " wallpaper [OPTIONS] [PATH]" echo "" echo "Options:" echo -e " -h, --help \n\t Show this help message and exit" @@ -60,12 +60,12 @@ done set -- "${POSITIONAL[@]}" # restore positional arguments if [[ $# -gt 1 ]]; then - help - exit 1 + help + exit 1 fi if [[ $# -eq 1 ]]; then - WALLPAPER="$1" + WALLPAPER="$1" fi if [[ -z ${WALLPAPER+x} ]]; then diff --git a/modules/services/default.nix b/modules/services/default.nix new file mode 100644 index 0000000..1a044e4 --- /dev/null +++ b/modules/services/default.nix @@ -0,0 +1,5 @@ +{ lib, ... }: + +{ + imports = lib.my.listModules ./.; +} diff --git a/modules/virtualisation/default.nix b/modules/virtualisation/default.nix new file mode 100644 index 0000000..1a044e4 --- /dev/null +++ b/modules/virtualisation/default.nix @@ -0,0 +1,5 @@ +{ lib, ... }: + +{ + imports = lib.my.listModules ./.; +} diff --git a/overlays/channels.nix b/overlays/channels.nix new file mode 100644 index 0000000..5c2a49a --- /dev/null +++ b/overlays/channels.nix @@ -0,0 +1,12 @@ +{ inputs, ... }: + +_: prev: { + master = import inputs.master { + inherit (prev) system; + config.allowUnfree = true; + }; + stable = import inputs.stable { + inherit (prev) system; + config.allowUnfree = true; + }; +}