Wayland fixes and Initial WSL setup (#17)
This commit is contained in:
commit
4231d1fcc3
203
flake.lock
203
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": {
|
||||
|
|
12
flake.nix
12
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
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
20
homes/x86_64-linux/cholli@wsl/default.nix
Normal file
20
homes/x86_64-linux/cholli@wsl/default.nix
Normal file
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
osConfig ? { },
|
||||
format ? "unknown",
|
||||
...
|
||||
}:
|
||||
with lib.wyrdgard;
|
||||
{
|
||||
wyrdgard = {
|
||||
apps = {
|
||||
kitty = enabled;
|
||||
};
|
||||
|
||||
tools = {
|
||||
direnv = enabled;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -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";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,8 +1,4 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{ lib, config, ... }:
|
||||
with lib;
|
||||
with lib.wyrdgard;
|
||||
let
|
||||
|
|
|
@ -19,6 +19,9 @@ in
|
|||
environment.systemPackages = with pkgs; [
|
||||
vivaldi
|
||||
vivaldi-ffmpeg-codecs
|
||||
qt5.qtwayland
|
||||
];
|
||||
|
||||
# environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -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 {
|
||||
|
|
|
@ -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
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
48
modules/nixos/submodules/basics-wsl/default.nix
Normal file
48
modules/nixos/submodules/basics-wsl/default.nix
Normal file
|
@ -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;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -36,7 +36,6 @@ in
|
|||
|
||||
tools = {
|
||||
git = enabled;
|
||||
nix-ld = enabled;
|
||||
};
|
||||
|
||||
system.hardware = {
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -23,7 +23,6 @@ in
|
|||
|
||||
programs.noisetorch.enable = true;
|
||||
|
||||
sound.enable = true;
|
||||
hardware.pulseaudio = disabled;
|
||||
security.rtkit.enable = true;
|
||||
|
||||
|
|
|
@ -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" ];
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -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; };
|
||||
}
|
5
overlays/pathofbuilding/default.nix
Normal file
5
overlays/pathofbuilding/default.nix
Normal file
|
@ -0,0 +1,5 @@
|
|||
{ channels, ... }:
|
||||
|
||||
final: prev: {
|
||||
inherit (channels.unstable) pobfrontend;
|
||||
}
|
|
@ -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
|
||||
'';
|
||||
});
|
||||
}
|
||||
|
|
1
result
Symbolic link
1
result
Symbolic link
|
@ -0,0 +1 @@
|
|||
/nix/store/5bn24v1m3gsjr96fj9h2kavaj67lxh5q-nixos-24.05.20240410.1042fd8-x86_64-linux.iso
|
26
systems/x86_64-linux/wsl/default.nix
Normal file
26
systems/x86_64-linux/wsl/default.nix
Normal file
|
@ -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";
|
||||
}
|
|
@ -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";
|
||||
|
|
|
@ -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 = [
|
||||
|
|
Loading…
Reference in a new issue