diff options
| -rw-r--r-- | common/default.nix | 104 | ||||
| -rw-r--r-- | common/home/default.nix | 25 | ||||
| -rw-r--r-- | common/home/scripts/openproject | 3 | ||||
| -rw-r--r-- | utils/dirfilter.nix | 6 |
4 files changed, 68 insertions, 70 deletions
diff --git a/common/default.nix b/common/default.nix index 7bf5705..8fdfc3a 100644 --- a/common/default.nix +++ b/common/default.nix @@ -1,65 +1,67 @@ { - config, - pkgs, - home-manager, - nixvim, - webtray, - wofi-pass, - ... + lib, + config, + pkgs, + home-manager, + nixvim, + webtray, + wofi-pass, + ... }: { - imports = [ - home-manager.nixosModules.default - webtray.outputs.nixosModules.default - wofi-pass.outputs.nixosModules.default - ]; + imports = [ + home-manager.nixosModules.default + webtray.outputs.nixosModules.default + wofi-pass.outputs.nixosModules.default + ]; - fonts.packages = with pkgs; [ nerdfonts ]; + fonts.packages = with pkgs; [ nerdfonts ]; - networking.networkmanager.enable = true; + networking.networkmanager.enable = true; - time.timeZone = "Europe/Zurich"; + time.timeZone = "Europe/Zurich"; - i18n.defaultLocale = "en_US.UTF-8"; - console = { - font = "Lat2-Terminus16"; - keyMap = "us"; - }; + i18n.defaultLocale = "en_US.UTF-8"; + console = { + font = "Lat2-Terminus16"; + keyMap = "us"; + }; - users = import ./users.nix { inherit pkgs; }; - programs = import ./programs { inherit pkgs; }; - services = import ./services { inherit pkgs; }; - home-manager = import ./home { - inherit pkgs; - inherit nixvim; - inherit config; - }; + users = import ./users.nix { inherit pkgs; }; + programs = import ./programs { inherit pkgs; }; + services = import ./services { inherit pkgs; }; + home-manager = import ./home { + inherit lib; + inherit pkgs; + inherit nixvim; + inherit config; + }; - security = { - pam.services.hyprlock = { }; - rtkit.enable = true; - sudo.wheelNeedsPassword = false; - }; + security = { + pam.services.hyprlock = { }; + rtkit.enable = true; + sudo.wheelNeedsPassword = false; + }; - hardware.bluetooth.enable = true; + hardware.bluetooth.enable = true; - xdg.portal = { - enable = true; - config = { - common = { - default = [ "hyprland" ]; - }; - }; - configPackages = [ pkgs.xdg-desktop-portal-hyprland ]; - extraPortals = [ pkgs.xdg-desktop-portal-hyprland ]; - }; + xdg.portal = { + enable = true; + config = { + common = { + default = [ "hyprland" ]; + }; + }; + configPackages = [ pkgs.xdg-desktop-portal-hyprland ]; + extraPortals = [ pkgs.xdg-desktop-portal-hyprland ]; + }; - environment.sessionVariables = { - YDOTOOL_SOCKET = "/run/ydotoold/socket"; - }; + environment.sessionVariables = { + YDOTOOL_SOCKET = "/run/ydotoold/socket"; + }; - nix.settings.experimental-features = [ - "nix-command" - "flakes" - ]; + nix.settings.experimental-features = [ + "nix-command" + "flakes" + ]; } diff --git a/common/home/default.nix b/common/home/default.nix index 1ae5ce9..ba35f9a 100644 --- a/common/home/default.nix +++ b/common/home/default.nix @@ -1,11 +1,14 @@ { + lib, config, pkgs, nixvim, ... }: let -dirfilter = import ../../utils/dirfilter.nix; +dirfilter = import ../../utils/dirfilter.nix { inherit lib; }; +scripts = map (n: pkgs.writeShellScriptBin n (builtins.readFile ./scripts/${n})) + (dirfilter { path = ./scripts; suffix = ""; type = "regular"; }); programs = dirfilter { path = ./programs; type = "directory"; }; services = dirfilter { path = ./services; type = "directory"; }; packages = [ @@ -41,25 +44,17 @@ packages = [ programs = builtins.listToAttrs ( map (n: { name = n; - value = - if builtins.pathExists ./programs/${n}/default.nix then - (import ./programs/${n} { - inherit pkgs; - home = config.home-manager.users.n8.home; - }) - else - { enable = true; }; + value = (import ./programs/${n} { + inherit pkgs; + home = config.home-manager.users.n8.home; + }); }) programs ); services = builtins.listToAttrs ( map (n: { - name = n; - value = - if builtins.pathExists ./services/${n}/default.nix then - (import ./services/${n} { inherit pkgs; }) - else - { enable = true; }; + name = n; + value = (import ./services/${n} { inherit pkgs; }); }) services ); diff --git a/common/home/scripts/openproject b/common/home/scripts/openproject new file mode 100644 index 0000000..4881921 --- /dev/null +++ b/common/home/scripts/openproject @@ -0,0 +1,3 @@ +#!/bin/sh + +echo Hello, World diff --git a/utils/dirfilter.nix b/utils/dirfilter.nix index 8472f79..b154b0e 100644 --- a/utils/dirfilter.nix +++ b/utils/dirfilter.nix @@ -1,7 +1,5 @@ +{ lib, ... }: { path, suffix ? null, type ? "regular" }: -let lib = import <nixpkgs/lib>; in -map - (n: path + ("/" + n)) - (builtins.filter (n: suffix == null || (builtins.match ".*\\.${suffix}" n) != null) +(builtins.filter (n: suffix == null || (builtins.match ".*\\.${suffix}" n) != null) (lib.attrNames (lib.filterAttrs (n: v: v == type) (builtins.readDir path)))) |