diff --git a/flake.lock b/flake.lock index f38583c..dbcd880 100644 --- a/flake.lock +++ b/flake.lock @@ -1,6 +1,38 @@ { "nodes": { "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_3": { "flake": false, "locked": { "lastModified": 1696426674, @@ -17,7 +49,7 @@ "type": "github" } }, - "flake-compat_2": { + "flake-compat_4": { "flake": false, "locked": { "lastModified": 1650374568, @@ -33,7 +65,7 @@ "type": "github" } }, - "flake-compat_3": { + "flake-compat_5": { "flake": false, "locked": { "lastModified": 1650374568, @@ -87,7 +119,7 @@ }, "flake-utils-plus": { "inputs": { - "flake-utils": "flake-utils_2" + "flake-utils": "flake-utils_4" }, "locked": { "lastModified": 1715533576, @@ -106,7 +138,7 @@ }, "flake-utils-plus_2": { "inputs": { - "flake-utils": "flake-utils_3" + "flake-utils": "flake-utils_5" }, "locked": { "lastModified": 1715533576, @@ -124,6 +156,42 @@ } }, "flake-utils_2": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_3": { + "inputs": { + "systems": "systems_3" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_4": { "locked": { "lastModified": 1644229661, "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", @@ -138,9 +206,9 @@ "type": "github" } }, - "flake-utils_3": { + "flake-utils_5": { "inputs": { - "systems": "systems_2" + "systems": "systems_4" }, "locked": { "lastModified": 1694529238, @@ -178,11 +246,11 @@ "gpg-base-conf": { "flake": false, "locked": { - "lastModified": 1711321488, - "narHash": "sha256-UoPY3pr1EkQj0vTJdHtwG8UBEmsN5AVutYzZ/3R4t28=", + "lastModified": 1719781410, + "narHash": "sha256-cmtAG7UQX7mVNoHHpVIqasfkjnO7VtBMcz8MJ7frO0k=", "owner": "drduh", "repo": "config", - "rev": "3b1bd3925b3440f55902e0a386155c55fc97d147", + "rev": "4eca229664d056737f1a097cdbdb10e5f247b0bc", "type": "github" }, "original": { @@ -198,11 +266,11 @@ ] }, "locked": { - "lastModified": 1716711219, - "narHash": "sha256-TnZETiQPXbyT5mdCHMOyrJnx2+BwroMBRrguciz1vEo=", + "lastModified": 1723015306, + "narHash": "sha256-jQnFEtH20/OsDPpx71ntZzGdRlpXhUENSQCGTjn//NA=", "owner": "nix-community", "repo": "home-manager", - "rev": "05e6ba83eb3585ce0aff7b41e4bd0e317d05ad4a", + "rev": "b3d5ea65d88d67d4ec578ed11d4d2d51e3de525e", "type": "github" }, "original": { @@ -236,16 +304,18 @@ }, "nix-ld": { "inputs": { + "flake-compat": "flake-compat", + "flake-utils": "flake-utils_2", "nixpkgs": [ "unstable" ] }, "locked": { - "lastModified": 1701153607, - "narHash": "sha256-h+odOVyiGmEERMECoFOj5P7FPiMR8IPRzroFA4sKivg=", + "lastModified": 1721411691, + "narHash": "sha256-fN0NjkYcQrdVSvWlSnvdu8XD34q8tl84SEz5BOJYROA=", "owner": "Mic92", "repo": "nix-ld", - "rev": "bf5aa84a713c31d95b4307e442e966d6c7fd7ae7", + "rev": "7a990656e51465a18ba70f49c2cf9c8d0947b4c9", "type": "github" }, "original": { @@ -256,11 +326,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1716715385, - "narHash": "sha256-fe6Z33pbfqu4TI5ijmcaNc5vRBs633tyxJ12HTghy3w=", + "lastModified": 1722332872, + "narHash": "sha256-2xLM4sc5QBfi0U/AANJAW21Bj4ZX479MHPMPkB+eKBU=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "2e7d6c568063c83355fe066b8a8917ee758de1b8", + "rev": "14c333162ba53c02853add87a0000cbd7aa230c2", "type": "github" }, "original": { @@ -269,6 +339,28 @@ "type": "github" } }, + "nixos-wsl": { + "inputs": { + "flake-compat": "flake-compat_2", + "flake-utils": "flake-utils_3", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1724065442, + "narHash": "sha256-8ZUoyeO7Q70bLuijVYvToBSkApw9kfc5hMykTGxB64I=", + "owner": "nix-community", + "repo": "NixOS-WSL", + "rev": "0bec2bfb8a2d4dd16e5b012982ca95e57d50e6a2", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NixOS-WSL", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1708475490, @@ -305,27 +397,27 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1716655032, - "narHash": "sha256-kQ25DAiCGigsNR/Quxm3v+JGXAEXZ8I7RAF4U94bGzE=", + "lastModified": 1721524707, + "narHash": "sha256-5NctRsoE54N86nWd0psae70YSLfrOek3Kv1e8KoXe/0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "59a450646ec8ee0397f5fa54a08573e8240eb91f", + "rev": "556533a23879fc7e5f98dd2e0b31a6911a213171", "type": "github" }, "original": { "owner": "NixOS", - "ref": "release-23.11", + "ref": "release-24.05", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_2": { "locked": { - "lastModified": 1716509168, - "narHash": "sha256-4zSIhSRRIoEBwjbPm3YiGtbd8HDWzFxJjw5DYSDy1n8=", + "lastModified": 1723362943, + "narHash": "sha256-dFZRVSgmJkyM0bkPpaYRtG/kRMRTorUIDj8BxoOt1T4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bfb7a882678e518398ce9a31a881538679f6f092", + "rev": "a58bc8ad779655e790115244571758e8de055e3d", "type": "github" }, "original": { @@ -337,11 +429,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1716651315, - "narHash": "sha256-iMgzIeedMqf30TXZ439zW3Yvng1Xm9QTGO+ZwG1IWSw=", + "lastModified": 1721466660, + "narHash": "sha256-pFSxgSZqZ3h+5Du0KvEL1ccDZBwu4zvOil1zzrPNb3c=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c5187508b11177ef4278edf19616f44f21cc8c69", + "rev": "6e14bbce7bea6c4efd7adfa88a40dac750d80100", "type": "github" }, "original": { @@ -379,6 +471,7 @@ "kickstartnvim": "kickstartnvim", "nix-ld": "nix-ld", "nixos-hardware": "nixos-hardware", + "nixos-wsl": "nixos-wsl", "nixpkgs": "nixpkgs_2", "pyfa": "pyfa", "snowfall-flake": "snowfall-flake", @@ -389,7 +482,7 @@ }, "snowfall-flake": { "inputs": { - "flake-compat": "flake-compat", + "flake-compat": "flake-compat_3", "nixpkgs": [ "unstable" ], @@ -411,7 +504,7 @@ }, "snowfall-lib": { "inputs": { - "flake-compat": "flake-compat_2", + "flake-compat": "flake-compat_4", "flake-utils-plus": "flake-utils-plus", "nixpkgs": [ "snowfall-flake", @@ -435,18 +528,18 @@ }, "snowfall-lib_2": { "inputs": { - "flake-compat": "flake-compat_3", + "flake-compat": "flake-compat_5", "flake-utils-plus": "flake-utils-plus_2", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1716675292, - "narHash": "sha256-7TFvVE4HR/b65/0AAhewYHEJzUXxIEJn82ow5bCkrDo=", + "lastModified": 1719005984, + "narHash": "sha256-mpFl3Jv4fKnn+5znYXG6SsBjfXHJdRG5FEqNSPx0GLA=", "owner": "snowfallorg", "repo": "lib", - "rev": "5d6e9f235735393c28e1145bec919610b172a20f", + "rev": "c6238c83de101729c5de3a29586ba166a9a65622", "type": "github" }, "original": { @@ -461,11 +554,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1716692524, - "narHash": "sha256-sALodaA7Zkp/JD6ehgwc0UCBrSBfB4cX66uFGTsqeFU=", + "lastModified": 1722897572, + "narHash": "sha256-3m/iyyjCdRBF8xyehf59QlckIcmShyTesymSb+N4Ap4=", "owner": "Mic92", "repo": "sops-nix", - "rev": "962797a8d7f15ed7033031731d0bb77244839960", + "rev": "8ae477955dfd9cbf5fa4eb82a8db8ddbb94e79d9", "type": "github" }, "original": { @@ -504,13 +597,43 @@ "type": "github" } }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_4": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "unstable": { "locked": { - "lastModified": 1716509168, - "narHash": "sha256-4zSIhSRRIoEBwjbPm3YiGtbd8HDWzFxJjw5DYSDy1n8=", + "lastModified": 1722813957, + "narHash": "sha256-IAoYyYnED7P8zrBFMnmp7ydaJfwTnwcnqxUElC1I26Y=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bfb7a882678e518398ce9a31a881538679f6f092", + "rev": "cb9a96f23c491c081b38eab96d22fa958043c9fa", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 3ebe378..f2a8953 100644 --- a/flake.nix +++ b/flake.nix @@ -2,12 +2,18 @@ description = "NixOs Config"; inputs = { - # nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11"; + # nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; unstable.url = "github:nixos/nixpkgs/nixos-unstable"; home-manager = { url = "github:nix-community/home-manager/master"; + # url = "github:nix-community/home-manager/release-24.05"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + nixos-wsl = { + url = "github:nix-community/NixOS-WSL"; inputs.nixpkgs.follows = "nixpkgs"; }; @@ -83,5 +89,9 @@ nix-ld.nixosModules.nix-ld sops-nix.nixosModules.sops ]; + + systems.hosts.wsl.modules = with inputs; [ + nixos-wsl.nixosModules.default + ]; }; } diff --git a/homes/x86_64-linux/cholli@wsl/default.nix b/homes/x86_64-linux/cholli@wsl/default.nix new file mode 100644 index 0000000..694b9c7 --- /dev/null +++ b/homes/x86_64-linux/cholli@wsl/default.nix @@ -0,0 +1,20 @@ +{ + lib, + pkgs, + config, + osConfig ? { }, + format ? "unknown", + ... +}: +with lib.wyrdgard; +{ + wyrdgard = { + apps = { + kitty = enabled; + }; + + tools = { + direnv = enabled; + }; + }; +} diff --git a/modules/home/tools/git/default.nix b/modules/home/tools/git/default.nix index f081d73..6f8107d 100644 --- a/modules/home/tools/git/default.nix +++ b/modules/home/tools/git/default.nix @@ -16,9 +16,7 @@ in enable = mkBoolOpt true "Enable Git (Default true)"; userName = mkOpt types.str user.fullName "The name to configure git with."; userEmail = mkOpt types.str user.email "The email to configure git with."; - signingKey = - mkOpt types.str "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN4iH29edivUi+k94apb6pasWq8qphfhYo0d6B2GhISf" - "The pub key to sign commits with."; + signingKey = mkOpt types.str "6995A5FF33791B7B" "The pub key to sign commits with."; signByDefault = mkOpt types.bool true "Whether to sign commits by default."; }; @@ -44,10 +42,6 @@ in safe = { directory = "${user.home}/projects/config"; }; - gpg = { - format = "ssh"; - "ssh".program = "${pkgs._1password-gui}/bin/op-ssh-sign"; - }; }; }; }; diff --git a/modules/nixos/apps/onedrive/default.nix b/modules/nixos/apps/onedrive/default.nix index cb00866..d04b1e9 100644 --- a/modules/nixos/apps/onedrive/default.nix +++ b/modules/nixos/apps/onedrive/default.nix @@ -1,8 +1,4 @@ -{ - lib, - config, - ... -}: +{ lib, config, ... }: with lib; with lib.wyrdgard; let diff --git a/modules/nixos/apps/vivaldi/default.nix b/modules/nixos/apps/vivaldi/default.nix index 32a9faa..f6e8a8a 100644 --- a/modules/nixos/apps/vivaldi/default.nix +++ b/modules/nixos/apps/vivaldi/default.nix @@ -19,6 +19,9 @@ in environment.systemPackages = with pkgs; [ vivaldi vivaldi-ffmpeg-codecs + qt5.qtwayland ]; + + # environment.sessionVariables.NIXOS_OZONE_WL = "1"; }; } diff --git a/modules/nixos/graphical-interface/desktop-manager/hyprland/default.nix b/modules/nixos/graphical-interface/desktop-manager/hyprland/default.nix new file mode 100644 index 0000000..628e89b --- /dev/null +++ b/modules/nixos/graphical-interface/desktop-manager/hyprland/default.nix @@ -0,0 +1,31 @@ +{ + config, + lib, + pkgs, + ... +}: +with lib; +with lib.wyrdgard; +let + cfg = config.wyrdgard.graphical-interface.desktop-manager.hyprland; +in +{ + options.wyrdgard.graphical-interface.desktop-manager.hyprland = with types; { + enable = mkEnableOption "Whether to enable hyprland"; + }; + + config = mkIf cfg.enable { + environment.systemPackages = with pkgs; [ + polkit + xdg-desktop-portal-hyprland + dconf + ]; + + services.xserver = enabled; + + programs.hyprland = { + enable = true; + xwayland.enable = true; + }; + }; +} diff --git a/modules/nixos/graphical-interface/desktop-manager/kde/default.nix b/modules/nixos/graphical-interface/desktop-manager/kde/default.nix new file mode 100644 index 0000000..99af216 --- /dev/null +++ b/modules/nixos/graphical-interface/desktop-manager/kde/default.nix @@ -0,0 +1,28 @@ +{ + config, + lib, + pkgs, + ... +}: +with lib; +with lib.wyrdgard; +let + cfg = config.wyrdgard.graphical-interface.desktop-manager.kde; +in +{ + options.wyrdgard.graphical-interface.desktop-manager.kde = with types; { + enable = mkEnableOption "Whether to enable a kde plasma6"; + }; + + config = mkIf cfg.enable { + environment.systemPackages = with pkgs; [ + xdg-utils + kdePackages.qtbase + ]; + + services = { + xserver = enabled; + desktopManager.plasma6 = enabled; + }; + }; +} diff --git a/modules/nixos/graphical-interface/display-manager/greetd/default.nix b/modules/nixos/graphical-interface/display-manager/greetd/default.nix new file mode 100644 index 0000000..fcfd04f --- /dev/null +++ b/modules/nixos/graphical-interface/display-manager/greetd/default.nix @@ -0,0 +1,43 @@ +{ + pkgs, + config, + lib, + ... +}: +with lib; +with lib.wyrdgard; +let + cfg = config.wyrdgard.graphical-interface.display-manager.greetd; + + hyperland = config.wyrdgard.graphical-interface.desktop-manager.hyperland; + hyprland-session = "${inputs.hyprland.packages.${pkgs.system}.hyperland}/share/wayland-sessions"; + kde-session = "${inputs.plasma6.packages.${pkgs.system}.plasma6}/share/wayland-sessions"; + + tuigreet = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --remember --remember-session"; + + command = + if hyperland.enable then + "${tuigreet} --sessions ${hyprland-session}" + else + "${tuigreet} --sessions ${kde-session}"; +in +{ + options.wyrdgard.graphical-interface.display-manager.greetd = with types; { + enable = mkEnableOption "Whether to enable a sddm"; + }; + + config = mkIf cfg.enable { + services = { + xserver = enabled; + greetd = { + enable = true; + settings = { + default_session = { + command = command; + user = config.wyrdgard.user.name; + }; + }; + }; + }; + }; +} diff --git a/modules/nixos/graphical-interface/display-manager/sddm/default.nix b/modules/nixos/graphical-interface/display-manager/sddm/default.nix new file mode 100644 index 0000000..09bf3ef --- /dev/null +++ b/modules/nixos/graphical-interface/display-manager/sddm/default.nix @@ -0,0 +1,23 @@ +{ config, lib, ... }: +with lib; +with lib.wyrdgard; +let + cfg = config.wyrdgard.graphical-interface.display-manager.sddm; +in +{ + options.wyrdgard.graphical-interface.display-manager.sddm = with types; { + enable = mkEnableOption "Whether to enable a sddm"; + }; + + config = mkIf cfg.enable { + services = { + xserver = enabled; + displayManager = { + sddm = { + enable = true; + wayland.enable = true; + }; + }; + }; + }; +} diff --git a/modules/nixos/nix/default.nix b/modules/nixos/nix/default.nix index c9fcc39..ba20ec7 100644 --- a/modules/nixos/nix/default.nix +++ b/modules/nixos/nix/default.nix @@ -1,9 +1,7 @@ { - options, config, pkgs, lib, - inputs, ... }: with lib; @@ -14,7 +12,7 @@ in { options.wyrdgard.nix = with types; { enable = mkBoolOpt true "Whether or not to manage nix configuration."; - package = mkOpt package pkgs.nixVersions.git "Which nix package to use."; + package = mkOpt package pkgs.lix "Which nix package to use."; }; config = mkIf cfg.enable { diff --git a/modules/nixos/security/gpg/default.nix b/modules/nixos/security/gpg/default.nix index dd56a48..6083559 100644 --- a/modules/nixos/security/gpg/default.nix +++ b/modules/nixos/security/gpg/default.nix @@ -19,6 +19,10 @@ let max-cache-ttl 120 pinentry-program ${pkgs.pinentry-qt}/bin/pinentry-qt ''; + + reload-yubikey = pkgs.writeShellScriptBin "reload-yubikey" '' + ${pkgs.gnupg}/bin/gpg-connect-agent "scd serialno" "learn --force" /bye + ''; in { options.wyrdgard.security.gpg = with types; { @@ -27,11 +31,19 @@ in }; config = mkIf cfg.enable { + services.pcscd.enable = true; + services.udev.packages = with pkgs; [ yubikey-personalization ]; + environment.systemPackages = with pkgs; [ + cryptsetup paperkey gnupg pinentry-curses pinentry-qt + + yubikey-manager + yubikey-manager-qt + reload-yubikey ]; programs = { @@ -50,6 +62,8 @@ in ".gnupg/gpg.conf".source = gpgConf; ".gnupg/gpg-agent.conf".text = gpgAgentConf; + ".gnupg/scdeamon.conf".text = "disable-ccid"; + # YUBIKEYCERTIFYPASSWORD }; }; }; diff --git a/modules/nixos/submodules/basics-wsl/default.nix b/modules/nixos/submodules/basics-wsl/default.nix new file mode 100644 index 0000000..a41fc8a --- /dev/null +++ b/modules/nixos/submodules/basics-wsl/default.nix @@ -0,0 +1,48 @@ +{ + options, + config, + lib, + pkgs, + ... +}: +with lib; +with lib.wyrdgard; +let + cfg = config.wyrdgard.submodules.basics-wsl; +in +{ + options.wyrdgard.submodules.basics-wsl = with types; { + enable = mkBoolOpt false "Whether or not to enable basic configuration."; + }; + + config = mkIf cfg.enable { + environment.systemPackages = with pkgs; [ + neofetch + + fd + tree + ripgrep + fzf + colorls + ]; + + wyrdgard = { + nix = enabled; + + tools = { + git = enabled; + }; + + system.hardware = { + networking = enabled; + }; + + system = { + fonts = enabled; + locale = enabled; + time = enabled; + xkb = enabled; + }; + }; + }; +} diff --git a/modules/nixos/submodules/basics/default.nix b/modules/nixos/submodules/basics/default.nix index a0ac111..486e6be 100644 --- a/modules/nixos/submodules/basics/default.nix +++ b/modules/nixos/submodules/basics/default.nix @@ -36,7 +36,6 @@ in tools = { git = enabled; - nix-ld = enabled; }; system.hardware = { diff --git a/modules/nixos/submodules/graphical-interface/default.nix b/modules/nixos/submodules/graphical-interface/default.nix index f173972..4973055 100644 --- a/modules/nixos/submodules/graphical-interface/default.nix +++ b/modules/nixos/submodules/graphical-interface/default.nix @@ -1,5 +1,4 @@ { - options, config, lib, pkgs, @@ -18,18 +17,12 @@ in config = mkIf cfg.enable { environment.systemPackages = with pkgs; [ xdg-utils ]; - services = { - xserver = { - enable = true; + wyrdgard.graphical-interface = { + display-manager.sddm = enabled; + desktop-manager = { + hyprland = enabled; + kde = enabled; }; - displayManager = { - defaultSession = "plasmax11"; - sddm = { - enable = true; - wayland.enable = true; - }; - }; - desktopManager.plasma6 = enabled; }; }; } diff --git a/modules/nixos/system/boot/default.nix b/modules/nixos/system/boot/default.nix index 2e4f50a..1f1f495 100644 --- a/modules/nixos/system/boot/default.nix +++ b/modules/nixos/system/boot/default.nix @@ -1,5 +1,4 @@ { - options, config, pkgs, lib, @@ -16,6 +15,7 @@ in }; config = mkIf cfg.enable { + boot.kernelPackages = pkgs.linuxKernel.packages.linux_6_8; boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; diff --git a/modules/nixos/system/hardware/audio/default.nix b/modules/nixos/system/hardware/audio/default.nix index dfd99ad..ae6bd19 100644 --- a/modules/nixos/system/hardware/audio/default.nix +++ b/modules/nixos/system/hardware/audio/default.nix @@ -23,7 +23,6 @@ in programs.noisetorch.enable = true; - sound.enable = true; hardware.pulseaudio = disabled; security.rtkit.enable = true; diff --git a/modules/nixos/system/hardware/gpu/nvidia/default.nix b/modules/nixos/system/hardware/gpu/nvidia/default.nix index 42617ab..5e6460d 100644 --- a/modules/nixos/system/hardware/gpu/nvidia/default.nix +++ b/modules/nixos/system/hardware/gpu/nvidia/default.nix @@ -1,8 +1,4 @@ -{ - lib, - config, - ... -}: +{ lib, config, ... }: with lib; with lib.wyrdgard; let @@ -14,19 +10,17 @@ in }; config = mkIf cfg.enable { - hardware.opengl = { + hardware.graphics = { enable = true; - driSupport = true; - driSupport32Bit = true; + enable32Bit = true; }; hardware.nvidia = { modesetting.enable = true; - powerManagement.enable = false; - powerManagement.finegrained = false; + powerManagement.enable = true; open = false; - nvidiaSettings = false; - package = config.boot.kernelPackages.nvidiaPackages.beta; # stable, beta + nvidiaSettings = true; + package = config.boot.kernelPackages.nvidiaPackages.stable; # stable, beta }; services.xserver.videoDrivers = [ "nvidia" ]; diff --git a/modules/nixos/tools/git/default.nix b/modules/nixos/tools/git/default.nix index 3259b87..218f544 100644 --- a/modules/nixos/tools/git/default.nix +++ b/modules/nixos/tools/git/default.nix @@ -16,9 +16,7 @@ in enable = mkBoolOpt true "Wether or not to enable git (Default enabled)"; userName = mkOpt types.str user.fullName "The name to use git with"; userEmail = mkOpt types.str user.email "The email to use git with"; - signingKey = - mkOpt types.str "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN4iH29edivUi+k94apb6pasWq8qphfhYo0d6B2GhISf" - "The key ID to sign commits with."; + signingKey = mkOpt types.str "6995A5FF33791B7B" "The key ID to sign commits with."; }; config = mkIf cfg.enable { @@ -34,7 +32,7 @@ in lfs.enable = true; signing = { key = cfg.signingKey; - signByDefault = mkIf _1password.enable true; + signByDefault = mkIf gpg.enable true; }; extraConfig = { init = { @@ -49,10 +47,6 @@ in safe = { directory = "${config.users.users.${user.name}.home}/projects/config"; }; - gpg = { - format = "ssh"; - "ssh".program = "${pkgs._1password-gui}/bin/op-ssh-sign"; - }; }; }; }; diff --git a/modules/nixos/tools/nix-ld/default.nix b/modules/nixos/tools/nix-ld/default.nix deleted file mode 100644 index ea25b0d..0000000 --- a/modules/nixos/tools/nix-ld/default.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ - options, - config, - lib, - pkgs, - ... -}: -with lib; -with lib.wyrdgard; -let - cfg = config.wyrdgard.tools.nix-ld; -in -{ - options.wyrdgard.tools.nix-ld = with types; { - enable = mkBoolOpt false "Wether or not to enable nix-ld"; - }; - - config = mkIf cfg.enable { programs.nix-ld.enable = true; }; -} diff --git a/overlays/pathofbuilding/default.nix b/overlays/pathofbuilding/default.nix new file mode 100644 index 0000000..145215e --- /dev/null +++ b/overlays/pathofbuilding/default.nix @@ -0,0 +1,5 @@ +{ channels, ... }: + +final: prev: { + inherit (channels.unstable) pobfrontend; +} diff --git a/overlays/vivaldi/default.nix b/overlays/vivaldi/default.nix index 1756269..c66518f 100644 --- a/overlays/vivaldi/default.nix +++ b/overlays/vivaldi/default.nix @@ -1,5 +1,14 @@ { channels, ... }: final: prev: { - vivaldi = prev.vivaldi.override { commandLineArgs = "--disable-features=AllowQt"; }; + vivaldi = prev.vivaldi.overrideAttrs (oldAttrs: { + dontWrapQtApps = false; + nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ channels.unstable.kdePackages.wrapQtAppsHook ]; + commandLineArgs = '' + -enable-features=UseOzonePlatform + --ozone-platform=wayland + --ozone-platform-hint=auto + --enable-features=WaylandWindowDecorations + ''; + }); } diff --git a/result b/result new file mode 120000 index 0000000..a7c115f --- /dev/null +++ b/result @@ -0,0 +1 @@ +/nix/store/5bn24v1m3gsjr96fj9h2kavaj67lxh5q-nixos-24.05.20240410.1042fd8-x86_64-linux.iso \ No newline at end of file diff --git a/systems/x86_64-linux/wsl/default.nix b/systems/x86_64-linux/wsl/default.nix new file mode 100644 index 0000000..5d0be17 --- /dev/null +++ b/systems/x86_64-linux/wsl/default.nix @@ -0,0 +1,26 @@ +{ + config, + pkgs, + lib, + ... +}: +with lib; +with lib.wyrdgard; +{ + wsl = { + enable = true; + defaultUser = config.wyrdgard.user.name; + }; + + environment.systemPackages = with pkgs; [ + git + wslu + wsl-open + ]; + + wyrdgard = { + submodules.basics-wsl = enabled; + }; + + system.stateVersion = "24.11"; +} diff --git a/systems/x86_64-linux/yggdrasil/default.nix b/systems/x86_64-linux/yggdrasil/default.nix index 127da02..c4206cd 100644 --- a/systems/x86_64-linux/yggdrasil/default.nix +++ b/systems/x86_64-linux/yggdrasil/default.nix @@ -9,10 +9,17 @@ with lib.wyrdgard; { imports = [ ./hardware.nix ]; - environment.systemPackages = with pkgs; [ jetbrains.rust-rover inputs.pyfa ]; + environment.systemPackages = with pkgs; [ + jetbrains.rust-rover + inputs.pyfa + teamspeak_client + path-of-building + ]; environment.pathsToLink = [ "/libexec" ]; + virtualisation.waydroid = enabled; + wyrdgard = { archetypes = { gaming.enable = true; @@ -36,6 +43,8 @@ with lib.wyrdgard; gpu.nvidia = enabled; }; }; + + security.gpg = enabled; }; system.stateVersion = "23.11"; diff --git a/systems/x86_64-linux/yggdrasil/hardware.nix b/systems/x86_64-linux/yggdrasil/hardware.nix index 8e6cf08..e00556a 100644 --- a/systems/x86_64-linux/yggdrasil/hardware.nix +++ b/systems/x86_64-linux/yggdrasil/hardware.nix @@ -4,12 +4,21 @@ { config, lib, - pkgs, modulesPath, + inputs, ... }: +let + inherit (inputs) nixos-hardware; +in { - imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; + imports = with nixos-hardware.nixosModules; [ + (modulesPath + "/installer/scan/not-detected.nix") + common-cpu-amd + common-gpu-nvidia-nonprime + common-pc + common-pc-ssd + ]; boot = { initrd.availableKernelModules = [