diff --git a/.gitignore b/.gitignore index f0d7d1c..121b61d 100644 --- a/.gitignore +++ b/.gitignore @@ -32,6 +32,7 @@ !modules/nushell/ !modules/openssh/ !modules/openttd/ +!modules/packages/ !modules/pipewire/ !modules/pueue/ !modules/python/ diff --git a/flake.nix b/flake.nix index 708a2e8..a53f692 100644 --- a/flake.nix +++ b/flake.nix @@ -91,9 +91,13 @@ } @ inputs: let lib = nixpkgs.lib; - ulib = import ./lib lib; + configuration = host: { + system, + normalUsers, + graphicalUsers ? [], + }: let + ulib = import ./lib lib normalUsers graphicalUsers; - configuration = host: system: let pkgs = import nixpkgs { inherit system; }; upkgs = { @@ -148,8 +152,18 @@ configurations = builtins.mapAttrs configuration; in { nixosConfigurations = configurations { - enka = "x86_64-linux"; - cube = "x86_64-linux"; + enka = { + system = "x86_64-linux"; + + normalUsers = [ "nixos" "root" ]; + graphicalUsers = [ "nixos" ]; + }; + + cube = { + system = "x86_64-linux"; + + normalUsers = [ "nixos" "root" ]; + }; }; }; } diff --git a/hosts/cube/default.nix b/hosts/cube/default.nix index 3f876c1..02eaff2 100644 --- a/hosts/cube/default.nix +++ b/hosts/cube/default.nix @@ -5,7 +5,7 @@ time.timeZone = "Europe/Amsterdam"; - users.users.nixos = normalUser { + users.users.rgb = normalUser { description = "NixOS"; extraGroups = [ "wheel" ]; openssh.authorizedKeys.keys = [ "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDRSLWxpIMOZIQv9ggDnAwSxmux/TZvuEPgq2HFiH+oI2OE07xYQAiroBVI5HH+aIg1nwpYtArANoD8V9Hrx2XCo2py/fMi9LhJWNMlFVcRLqYrCmrZYhBqZhxXIdY+wXqkSE7kvTKsz84BrhwilfA/bqTgVw2Ro6w0RnTzUhlYx4w10DT3isN09cQJMgvuyWNRlpGpkEGhPwyXythKM2ERoHTfq/XtpiGZQeLr6yoTTd9q4rbvnGGka5IUEz3RrmeXEs13l02IY6dCUFJkRRsK8dvB9zFjQyM08IqdaoHeudZoCOsnl/AiegZ7C5FoYEKIXY86RqxS3TH3nwuxe2fXTNr9gwf2PumM1Yh2WxV4+pHQOksxW8rWgv1nXMT5AG0RrJxr+S0Nn7NBbzCImrprX3mg4vJqT24xcUjUSDYllEMa2ioXGCeff8cwVKK/Ly5fwj0AX1scjiw+b7jD6VvDLA5z+ALwCblxiRMCN0SOMk9/V2Xsg9YIRMHyQwpqu8k= u0_a216@localhost" ]; @@ -20,7 +20,6 @@ (importModules [ ./hardware.nix - ./packages.nix "bat" "btop" @@ -34,6 +33,7 @@ "nushell" "openssh" "pueue" + "packages" "python" "ripgrep" "rust" diff --git a/hosts/enka/default.nix b/hosts/enka/default.nix index d9a6938..61c2347 100644 --- a/hosts/enka/default.nix +++ b/hosts/enka/default.nix @@ -5,7 +5,7 @@ time.timeZone = "Europe/Istanbul"; - users.users.nixos = graphicalUser { + users.users.nixos = normalUser { description = "NixOS"; extraGroups = [ "wheel" ]; }; @@ -21,7 +21,6 @@ (importModules [ ./hardware.nix - ./packages.nix "autofreq" "bat" @@ -46,6 +45,7 @@ "nix" "nushell" "openttd" + "packages" "pipewire" "pueue" "python" diff --git a/lib/configuration.nix b/lib/configuration.nix index 683aef3..e2d95b5 100644 --- a/lib/configuration.nix +++ b/lib/configuration.nix @@ -1,3 +1,5 @@ +normalUsers: graphicalUsers: + rec { systemConfiguration = configuration: configuration; @@ -15,14 +17,12 @@ rec { }) {} (if builtins.isList users then users else [ users ]); }; - # FIXME: Don't hardcode these. - graphicalConfiguration = userHomeConfiguration "nixos"; + graphicalConfiguration = userHomeConfiguration graphicalUsers; graphicalPackages = packages: graphicalConfiguration { home.packages = packages; }; - # FIXME: Don't hardcode these. - homeConfiguration = userHomeConfiguration [ "nixos" "root" ]; + homeConfiguration = userHomeConfiguration normalUsers; homePackages = packages: homeConfiguration { home.packages = packages; }; diff --git a/lib/default.nix b/lib/default.nix index c3c5293..11fd1b3 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -1,6 +1,6 @@ -lib: +lib: normalUsers: graphicalUsers: -(import ./configuration.nix) +(import ./configuration.nix normalUsers graphicalUsers) // (import ./merge.nix lib) // diff --git a/lib/values.nix b/lib/values.nix index e49823d..abcb898 100644 --- a/lib/values.nix +++ b/lib/values.nix @@ -6,9 +6,4 @@ normalUser = attributes: attributes // { isNormalUser = true; }; - - graphicalUser = attributes: attributes // { - extraGroups = [ "graphical" ] ++ (attributes.extraGroups or []); - isNormalUser = true; - }; } diff --git a/modules/packages/default.nix b/modules/packages/default.nix new file mode 100644 index 0000000..01891b5 --- /dev/null +++ b/modules/packages/default.nix @@ -0,0 +1,44 @@ +{ ulib, pkgs, upkgs, ... }: with ulib; merge + +(systemPackages (with pkgs; [ + asciinema + fastfetch + fd + hyperfine + moreutils + nix-index + nix-output-monitor + p7zip + pstree + strace + timg + tree + usbutils + yt-dlp + + wine + + clang_16 + clang-tools_16 + gh + go + jdk + lld + maven + upkgs.zig + vlang +])) + +(graphicalPackages (with pkgs; [ + qbittorrent + thunderbird + whatsapp-for-linux + xfce.thunar + + krita + obs-studio + + libreoffice + hunspellDicts.en_US + hunspellDicts.en_GB-ize +]))