option_refactor #4

Merged
jsw merged 7 commits from option_refactor into master 2025-09-17 09:11:38 +00:00
11 changed files with 111 additions and 78 deletions
Showing only changes of commit cc65757a1f - Show all commits

114
flake.lock generated
View file

@ -28,11 +28,11 @@
"fromYaml": "fromYaml" "fromYaml": "fromYaml"
}, },
"locked": { "locked": {
"lastModified": 1746562888, "lastModified": 1755819240,
"narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=", "narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=",
"owner": "SenchoPens", "owner": "SenchoPens",
"repo": "base16.nix", "repo": "base16.nix",
"rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89", "rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -131,11 +131,11 @@
"firefox-gnome-theme": { "firefox-gnome-theme": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1748383148, "lastModified": 1756083905,
"narHash": "sha256-pGvD/RGuuPf/4oogsfeRaeMm6ipUIznI2QSILKjKzeA=", "narHash": "sha256-UqYGTBgI5ypGh0Kf6zZjom/vABg7HQocB4gmxzl12uo=",
"owner": "rafaelmardojai", "owner": "rafaelmardojai",
"repo": "firefox-gnome-theme", "repo": "firefox-gnome-theme",
"rev": "4eb2714fbed2b80e234312611a947d6cb7d70caf", "rev": "b655eaf16d4cbec9c3472f62eee285d4b419a808",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -195,11 +195,11 @@
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1754487366, "lastModified": 1756770412,
"narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=", "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18", "rev": "4524271976b625a4a605beefd893f270620fd751",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -234,11 +234,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1753121425, "lastModified": 1756770412,
"narHash": "sha256-TVcTNvOeWWk1DXljFxVRp+E0tzG1LhrVjOGGoMHuXio=", "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "644e0fc48951a860279da645ba77fe4a6e814c5e", "rev": "4524271976b625a4a605beefd893f270620fd751",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -255,11 +255,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1751413152, "lastModified": 1756770412,
"narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=", "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "77826244401ea9de6e3bac47c2db46005e1f30b5", "rev": "4524271976b625a4a605beefd893f270620fd751",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -329,11 +329,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1754416808, "lastModified": 1757588530,
"narHash": "sha256-c6yg0EQ9xVESx6HGDOCMcyRSjaTpNJP10ef+6fRcofA=", "narHash": "sha256-tJ7A8mID3ct69n9WCvZ3PzIIl3rXTdptn/lZmqSS95U=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "9c52372878df6911f9afc1e2a1391f55e4dfc864", "rev": "b084b2c2b6bc23e83bbfe583b03664eb0b18c411",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -407,11 +407,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1754593726, "lastModified": 1757920978,
"narHash": "sha256-bo6aSfDS/GGfM/6LXCKLH/246fDSKjFnBsaRMNE+Wmc=", "narHash": "sha256-Mv16aegXLulgyDunijP6SPFJNm8lSXb2w3Q0X+vZ9TY=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "5de16c704b0fc8f519b2c19ed3f683a9e68f3884", "rev": "11cc5449c50e0e5b785be3dfcb88245232633eb8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -444,11 +444,11 @@
}, },
"mnw": { "mnw": {
"locked": { "locked": {
"lastModified": 1748710831, "lastModified": 1756659871,
"narHash": "sha256-eZu2yH3Y2eA9DD3naKWy/sTxYS5rPK2hO7vj8tvUCSU=", "narHash": "sha256-v6Rh4aQ6RKjM2N02kK9Usn0Ix7+OY66vNpeklc1MnGE=",
"owner": "Gerg-L", "owner": "Gerg-L",
"repo": "mnw", "repo": "mnw",
"rev": "cff958a4e050f8d917a6ff3a5624bc4681c6187d", "rev": "ed6cc3e48557ba18266e598a5ebb6602499ada16",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -500,11 +500,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1754800038, "lastModified": 1757822619,
"narHash": "sha256-UbLO8/0pVBXLJuyRizYOJigtzQAj8Z2bTnbKSec/wN0=", "narHash": "sha256-3HIpe3P2h1AUPYcAH9cjuX0tZOqJpX01c0iDwoUYNZ8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-index-database", "repo": "nix-index-database",
"rev": "b65f8d80656f9fcbd1fecc4b7f0730f468333142", "rev": "050a5feb5d1bb5b6e5fc04a7d3d816923a87c9ea",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -520,11 +520,11 @@
"nixpkgs": "nixpkgs_3" "nixpkgs": "nixpkgs_3"
}, },
"locked": { "locked": {
"lastModified": 1754583575, "lastModified": 1757726013,
"narHash": "sha256-GLCNsMGuQQLq3B3+C+jEybyQCtV0xJytGjibNU3tg70=", "narHash": "sha256-7RPKqqlc5xawEbASZh18b6HX9FogiVTPIw0KdMEjpn8=",
"owner": "kaylorben", "owner": "kaylorben",
"repo": "nixcord", "repo": "nixcord",
"rev": "e049d77a74b3360791800a1d50cbe9518d96b764", "rev": "2133f2ab5af34dab65f5aa17f1f343777bc71070",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -551,11 +551,11 @@
}, },
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"lastModified": 1753579242, "lastModified": 1754788789,
"narHash": "sha256-zvaMGVn14/Zz8hnp4VWT9xVnhc8vuL3TStRqwk22biA=", "narHash": "sha256-x2rJ+Ovzq0sCMpgfgGaaqgBSwY+LST+WbZ6TytnT9Rk=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs.lib", "repo": "nixpkgs.lib",
"rev": "0f36c44e01a6129be94e3ade315a5883f0228a6e", "rev": "a73b9c743612e4244d865a2fdee11865283c04e6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -629,11 +629,11 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1754498491, "lastModified": 1757745802,
"narHash": "sha256-erbiH2agUTD0Z30xcVSFcDHzkRvkRXOQ3lb887bcVrs=", "narHash": "sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "c2ae88e026f9525daf89587f3cbee584b92b6134", "rev": "c23193b943c6c689d70ee98ce3128239ed9e32d1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -674,11 +674,11 @@
}, },
"nixpkgs_7": { "nixpkgs_7": {
"locked": { "locked": {
"lastModified": 1751792365, "lastModified": 1756819007,
"narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=", "narHash": "sha256-12V64nKG/O/guxSYnr5/nq1EfqwJCdD2+cIGmhz3nrE=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb", "rev": "aaff8c16d7fc04991cac6245bee1baa31f72b1e1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -700,11 +700,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1751906969, "lastModified": 1756961635,
"narHash": "sha256-BSQAOdPnzdpOuCdAGSJmefSDlqmStFNScEnrWzSqKPw=", "narHash": "sha256-hETvQcILTg5kChjYNns1fD5ELdsYB/VVgVmBtqKQj9A=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "ddb679f4131e819efe3bbc6457ba19d7ad116f25", "rev": "6ca27b2654ac55e3f6e0ca434c1b4589ae22b370",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -724,11 +724,11 @@
"systems": "systems_3" "systems": "systems_3"
}, },
"locked": { "locked": {
"lastModified": 1754552918, "lastModified": 1757773905,
"narHash": "sha256-vbT+nGdMLNAeYZ1S5WBBLJTVWosGne2VRt46rqPfB2A=", "narHash": "sha256-lM1K3cJsPQyiSGI3rE/F7u02fA/JYBsinMN49IQCY1s=",
"owner": "notashelf", "owner": "notashelf",
"repo": "nvf", "repo": "nvf",
"rev": "d61de135ce174f4e04b4e509de02e1afe040a834", "rev": "7e74ee604a7c18dda21e6a809720ad37ab5bae43",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -793,11 +793,11 @@
"tinted-zed": "tinted-zed" "tinted-zed": "tinted-zed"
}, },
"locked": { "locked": {
"lastModified": 1754597531, "lastModified": 1757360005,
"narHash": "sha256-OpC9/PBIuL2WEJUkcuD/wVxI8r+3o6f5RylSIefjHo4=", "narHash": "sha256-VwzdFEQCpYMU9mc7BSQGQe5wA1MuTYPJnRc9TQCTMcM=",
"owner": "nix-community", "owner": "nix-community",
"repo": "stylix", "repo": "stylix",
"rev": "63bb34a66ad7d1af2e95ee20dd675896b2074c32", "rev": "834a743c11d66ea18e8c54872fbcc72ce48bc57f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -917,11 +917,11 @@
"tinted-schemes": { "tinted-schemes": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1750770351, "lastModified": 1754779259,
"narHash": "sha256-LI+BnRoFNRa2ffbe3dcuIRYAUcGklBx0+EcFxlHj0SY=", "narHash": "sha256-8KG2lXGaXLUE0F/JVwLQe7kOVm21IDfNEo0gfga5P4M=",
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "schemes", "repo": "schemes",
"rev": "5a775c6ffd6e6125947b393872cde95867d85a2a", "rev": "097d751b9e3c8b97ce158e7d141e5a292545b502",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -933,11 +933,11 @@
"tinted-tmux": { "tinted-tmux": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1751159871, "lastModified": 1754788770,
"narHash": "sha256-UOHBN1fgHIEzvPmdNMHaDvdRMgLmEJh2hNmDrp3d3LE=", "narHash": "sha256-LAu5nBr7pM/jD9jwFc6/kyFY4h7Us4bZz7dvVvehuwo=",
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "tinted-tmux", "repo": "tinted-tmux",
"rev": "bded5e24407cec9d01bd47a317d15b9223a1546c", "rev": "fb2175accef8935f6955503ec9dd3c973eec385c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -949,11 +949,11 @@
"tinted-zed": { "tinted-zed": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1751158968, "lastModified": 1755613540,
"narHash": "sha256-ksOyv7D3SRRtebpXxgpG4TK8gZSKFc4TIZpR+C98jX8=", "narHash": "sha256-zBFrrTxHLDMDX/OYxkCwGGbAhPXLi8FrnLhYLsSOKeY=",
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "base16-zed", "repo": "base16-zed",
"rev": "86a470d94204f7652b906ab0d378e4231a5b3384", "rev": "937bada16cd3200bdbd3a2f5776fc3b686d5cba0",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -53,13 +53,17 @@
ts = { ts = {
enable = true; enable = true;
lsp.server = "ts_ls"; lsp.server = "denols";
extensions.ts-error-translator.enable = true; extensions.ts-error-translator.enable = true;
}; };
clang = { clang = {
enable = true; enable = true;
lsp.enable = true; lsp.enable = true;
}; };
typst = {
enable = true;
format.type = "typstyle";
};
bash.enable = true; bash.enable = true;
css.enable = true; css.enable = true;
@ -67,7 +71,6 @@
markdown.enable = true; markdown.enable = true;
nix.enable = true; nix.enable = true;
svelte.enable = true; svelte.enable = true;
typst.enable = true;
rust.enable = true; rust.enable = true;
python.enable = true; python.enable = true;
}; };

View file

@ -23,7 +23,7 @@
"callTimer" "callTimer"
"clearURLs" "clearURLs"
"copyFileContents" "copyFileContents"
"emoteCloner" # "emoteCloner"
"fakeNitro" "fakeNitro"
"fixYoutubeEmbeds" "fixYoutubeEmbeds"
"friendsSince" "friendsSince"

View file

@ -13,7 +13,6 @@
pkgs.gimp pkgs.gimp
pkgs.inkscape pkgs.inkscape
pkgs.thunderbird pkgs.thunderbird
pkgs.stremio
] ]
++ lib.optional osConfig.niksos.hardware.portable.enable self.packages.${pkgs.system}.visicut; ++ lib.optional osConfig.niksos.hardware.portable.enable self.packages.${pkgs.system}.visicut;
} }

View file

@ -64,6 +64,9 @@
] ]
) )
10); 10);
volumeUp = "${wpctl} set-volume -l '1.0' @DEFAULT_AUDIO_SINK@ 6%+";
volumeDown = "${wpctl} set-volume -l '1.0' @DEFAULT_AUDIO_SINK@ 6%-";
in { in {
wayland.windowManager.hyprland.settings = { wayland.windowManager.hyprland.settings = {
"$m" = "ALT"; "$m" = "ALT";
@ -138,10 +141,20 @@ in {
bindle = [ bindle = [
# volume # volume
", XF86AudioRaiseVolume, exec, ${wpctl} set-volume -l '1.0' @DEFAULT_AUDIO_SINK@ 6%+" ", XF86AudioRaiseVolume, exec, ${volumeUp}"
", XF86AudioLowerVolume, exec, ${wpctl} set-volume -l '1.0' @DEFAULT_AUDIO_SINK@ 6%-" ", XF86AudioLowerVolume, exec, ${volumeDown}"
",XF86MonBrightnessUp, exec, ${brightnessctl} s 10%+" ",XF86MonBrightnessUp, exec, ${brightnessctl} s 10%+"
",XF86MonBrightnessDown, exec, ${brightnessctl} s 10%-" ",XF86MonBrightnessDown, exec, ${brightnessctl} s 10%-"
]; ];
gesture = [
"3, down, close"
"3, up, fullscreen"
"3, horizontal, workspace"
"4, left, dispatcher, exec, ${playerctl} previous"
"4, right, dispatcher, exec, ${playerctl} next"
"4, up, dispatcher, exec, ${volumeUp}"
"4, down, dispatcher, exec, ${volumeDown}"
];
}; };
} }

View file

@ -74,12 +74,6 @@
}; };
}; };
gestures = {
workspace_swipe = true;
workspace_swipe_forever = true;
workspace_swipe_direction_lock = false;
};
dwindle = { dwindle = {
pseudotile = true; pseudotile = true;
preserve_split = true; preserve_split = true;
@ -97,6 +91,7 @@
"float, class:foot-somcli" "float, class:foot-somcli"
"size >30% >30%, class:foot-somcli" "size >30% >30%, class:foot-somcli"
]; ];
#NOTE: Also check home/wayland/hyprland/binds + system/hardware/fingerprint #NOTE: Also check home/wayland/hyprland/binds + system/hardware/fingerprint
}; };
} }

View file

@ -1,13 +1,16 @@
{ {
pkgs,
lib,
...
}: {
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
# ./virt.nix ./virt.nix
]; ];
# programs.appimage.enable = true; # programs.appimage.enable = true;
# programs.evolution.enable = true; # TODO: move to appropiate place. # programs.evolution.enable = true; # TODO: move to appropiate place.
# ! HII
niksos = { niksos = {
hardware = { hardware = {
joycond = false; #NOTE: enable when game night lol joycond = false; #NOTE: enable when game night lol
@ -39,6 +42,26 @@
}; };
home-manager.users.jsw.wayland.windowManager.hyprland.settings.monitor = ["eDP-1,2880x1920@120,0x0,1.5,vrr,1"]; home-manager.users.jsw.wayland.windowManager.hyprland.settings.monitor = ["eDP-1,2880x1920@120,0x0,1.5,vrr,1"];
#FIXME: unity
nixpkgs.config.permittedInsecurePackages = ["libxml2-2.13.8"];
environment = {
etc.vscode.source = lib.getExe pkgs.vscodium;
systemPackages = let
unityhub = pkgs.unityhub.overrideAttrs (prevAttrs: {
nativeBuildInputs = (prevAttrs.nativeBuildInputs or []) ++ [pkgs.makeBinaryWrapper];
postInstall =
(prevAttrs.postInstall or "")
+ ''
wrapProgram $out/bin/unityhub --set GDK_SCALE 2 --set GDK_DPI_SCALE 0.5
'';
});
in [
unityhub
];
};
#ENDFIXME
services.udev.extraRules = '' services.udev.extraRules = ''
# Ethernet expansion card support # Ethernet expansion card support
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0bda", ATTR{idProduct}=="8156", ATTR{power/autosuspend}="20" ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0bda", ATTR{idProduct}=="8156", ATTR{power/autosuspend}="20"

View file

@ -1,7 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
NH_FLAKE=$(mktemp -d) NH_FLAKE=$(mktemp -d)
git clone . "$NH_FLAKE" #TODO: replace . with valid bash for script dir. cp -r . "$NH_FLAKE" #TODO: replace . with valid bash for script dir.
cd "$NH_FLAKE" || exit cd "$NH_FLAKE" || exit
git lfs install git lfs install

View file

@ -13,10 +13,10 @@ in {
config = mkIf hardware.fingerprint { config = mkIf hardware.fingerprint {
services = { services = {
fprintd.enable = true; fprintd.enable = true;
logind.extraConfig = mkIf hypr '' logind.settings.Login = mkIf hypr {
# dont shutdown when power button is short-pressed # dont shutdown when power button is short-pressed
HandlePowerKey=ignore HandlePowerKey = "ignore";
''; };
}; };
home-manager.users.jsw.wayland.windowManager.hyprland.settings = mkIf hypr { home-manager.users.jsw.wayland.windowManager.hyprland.settings = mkIf hypr {

View file

@ -9,7 +9,7 @@
in { in {
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
services = { services = {
logind = { logind.settings.Login = {
powerKey = "suspend-then-hibernate"; powerKey = "suspend-then-hibernate";
powerKeyLongPress = "poweroff"; powerKeyLongPress = "poweroff";
}; };

View file

@ -20,7 +20,7 @@
nix = let nix = let
flakeInputs = lib.filterAttrs (_: v: lib.isType "flake" v) inputs; flakeInputs = lib.filterAttrs (_: v: lib.isType "flake" v) inputs;
in { in {
package = pkgs.lix; # package = pkgs.lix;
# pin the registry to avoid downloading and evaling a new nixpkgs version every time # pin the registry to avoid downloading and evaling a new nixpkgs version every time
registry = lib.mapAttrs (_: v: {flake = v;}) flakeInputs; registry = lib.mapAttrs (_: v: {flake = v;}) flakeInputs;
@ -31,7 +31,7 @@
settings = { settings = {
auto-optimise-store = true; auto-optimise-store = true;
builders-use-substitutes = true; builders-use-substitutes = true;
experimental-features = ["nix-command" "flakes" "repl-flake"]; experimental-features = ["nix-command" "flakes"];
flake-registry = "/etc/nix/registry.json"; flake-registry = "/etc/nix/registry.json";
# for direnv GC roots # for direnv GC roots