refactor *started*
This commit is contained in:
parent
d0413cb830
commit
db2103a37d
103 changed files with 1008 additions and 786 deletions
|
|
@ -1,7 +1,3 @@
|
|||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
|
|
@ -17,8 +13,7 @@
|
|||
];
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
imports = [
|
||||
./system
|
||||
./user
|
||||
./modules
|
||||
|
||||
];
|
||||
|
||||
|
|
@ -26,10 +21,4 @@
|
|||
"/share/applications"
|
||||
"/share/xdg-desktop-portal"
|
||||
];
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||
# this value at the release version of the first install of this system.
|
||||
# Before changing this value read the documentation for this option
|
||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||
}
|
||||
|
|
|
|||
150
flake.lock
generated
150
flake.lock
generated
|
|
@ -41,11 +41,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1773436376,
|
||||
"narHash": "sha256-OUPRrprbgN27BXHuWkMAPSCfLLQ/uwpWghEfKYN2iAg=",
|
||||
"lastModified": 1774211390,
|
||||
"narHash": "sha256-sTtAgCCaX8VNNZlQFACd3i1IQ+DB0Wf3COgiFS152ds=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "aquamarine",
|
||||
"rev": "43f10d24391692bba3d762931ee35e7f17f8e8b8",
|
||||
"rev": "f62a4dbfa4e5584f14ad4c62afedf6e4b433cf70",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -82,11 +82,11 @@
|
|||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1773079031,
|
||||
"narHash": "sha256-RvCzINnVISBT3d0F1DoIcQFbQsbRJISW9qZeKTzmNaA=",
|
||||
"lastModified": 1774640361,
|
||||
"narHash": "sha256-5PLTPbnbtK0iDbsB9yFeHr5y/pv6/XzoVm/CDeXXt/c=",
|
||||
"owner": "abenz1267",
|
||||
"repo": "elephant",
|
||||
"rev": "53afe39cef252010f7c55bd33c5bae6dd50dcf0c",
|
||||
"rev": "d30652147d8e16ebc849b779b8ef495a894b0dd4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -216,11 +216,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1774135471,
|
||||
"narHash": "sha256-TVeIGOxnfSPM6JvkRkXHpJECnj1OG2dXkWMSA4elzzQ=",
|
||||
"lastModified": 1774738535,
|
||||
"narHash": "sha256-2jfBEZUC67IlnxO5KItFCAd7Oc+1TvyV/jQlR+2ykGQ=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "856b01ebd1de3f53c3929ce8082d9d67d799d816",
|
||||
"rev": "769e07ef8f4cf7b1ec3b96ef015abec9bc6b1e2a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -304,11 +304,11 @@
|
|||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1774136452,
|
||||
"narHash": "sha256-pSwj8WNWXMuZaDqCyhQwlngRD3JyNmZwldSe6UqWAos=",
|
||||
"lastModified": 1774734105,
|
||||
"narHash": "sha256-kO22x+rIp1SckR3Gi3+Nk0J9AP+kNcEgXikkE8bA04g=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "Hyprland",
|
||||
"rev": "bf31f642b08a8d8ca796a1b713285f2580805c2f",
|
||||
"rev": "38a7f03cf0e5ee116794a78581634ba3dab508fa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -511,11 +511,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1773948364,
|
||||
"narHash": "sha256-S76omfIVQ1TpGiXFbqih6o6XcH3sA5+5QI+SXB4HvlY=",
|
||||
"lastModified": 1774211405,
|
||||
"narHash": "sha256-6KNwP4ojUzv3YBlZU5BqCpTrWHcix1Jo01BISsTT0xk=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprutils",
|
||||
"rev": "b85b779e3e3a1adcd9b098e3447cf48f9e780b35",
|
||||
"rev": "cb4e152dc72095a2af422956c6b689590572231a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -586,11 +586,11 @@
|
|||
"optnix": "optnix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1773211698,
|
||||
"narHash": "sha256-7MO8/1kby+CHc7KwNDfz3+GvVifA2F1V4nZR+w0r6w4=",
|
||||
"lastModified": 1774427328,
|
||||
"narHash": "sha256-KtGThScvwNbCm+6XwUKRfpTjJVKV9SHswm29px3m4pw=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixos-cli",
|
||||
"rev": "35c01291b1bd707def2d1613543c7fe2e4132d43",
|
||||
"rev": "23e7540706eb5271f4ab37b9e52532637d57c63b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -648,11 +648,11 @@
|
|||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1773389992,
|
||||
"narHash": "sha256-wvfdLLWJ2I9oEpDd9PfMA8osfIZicoQ5MT1jIwNs9Tk=",
|
||||
"lastModified": 1774106199,
|
||||
"narHash": "sha256-US5Tda2sKmjrg2lNHQL3jRQ6p96cgfWh3J1QBliQ8Ws=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "c06b4ae3d6599a672a6210b7021d699c351eebda",
|
||||
"rev": "6c9a78c09ff4d6c21d0319114873508a6ec01655",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -680,11 +680,11 @@
|
|||
},
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1773821835,
|
||||
"narHash": "sha256-TJ3lSQtW0E2JrznGVm8hOQGVpXjJyXY2guAxku2O9A4=",
|
||||
"lastModified": 1774386573,
|
||||
"narHash": "sha256-4hAV26quOxdC6iyG7kYaZcM3VOskcPUrdCQd/nx8obc=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "b40629efe5d6ec48dd1efba650c797ddbd39ace0",
|
||||
"rev": "46db2e09e1d3f113a13c0d7b81e2f221c63b8ce9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -695,22 +695,6 @@
|
|||
}
|
||||
},
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1770107345,
|
||||
"narHash": "sha256-tbS0Ebx2PiA1FRW8mt8oejR0qMXmziJmPaU1d4kYY9g=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4533d9293756b63904b7238acb84ac8fe4c8c2c4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_7": {
|
||||
"locked": {
|
||||
"lastModified": 1768564909,
|
||||
"narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=",
|
||||
|
|
@ -734,11 +718,11 @@
|
|||
"noctalia-qs": "noctalia-qs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1774190046,
|
||||
"narHash": "sha256-fAtmC9Yy2VNExCaxO7kZgPH8LIQP8M9LEGcAp23gXMk=",
|
||||
"lastModified": 1774747057,
|
||||
"narHash": "sha256-D/W/pgyH9+50fMbyh839j3NIOyf9X8VJCKrsMpRnqAI=",
|
||||
"owner": "noctalia-dev",
|
||||
"repo": "noctalia-shell",
|
||||
"rev": "4e44886a79cf39e04d625961e2906537723f631a",
|
||||
"rev": "3b9e93a8b1e748df9329a97eb8d7ee58d02977da",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -757,11 +741,11 @@
|
|||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1774059741,
|
||||
"narHash": "sha256-ObYsrf7XLJDqWVbJ+GWH5JYV/EUc7SVdhGx5r5wWKno=",
|
||||
"lastModified": 1774734782,
|
||||
"narHash": "sha256-rq/8sJPI8wD4P3CXSyvW/dPuAa+qXGdqzAKM3eunZ+4=",
|
||||
"owner": "noctalia-dev",
|
||||
"repo": "noctalia-qs",
|
||||
"rev": "c9beee5c634ec784af128b8e7c56db14012ab17f",
|
||||
"rev": "8e216ba101d761b8a71f359246941d50e22bad3f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -805,11 +789,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772893680,
|
||||
"narHash": "sha256-JDqZMgxUTCq85ObSaFw0HhE+lvdOre1lx9iI6vYyOEs=",
|
||||
"lastModified": 1774104215,
|
||||
"narHash": "sha256-EAtviqz0sEAxdHS4crqu7JGR5oI3BwaqG0mw7CmXkO8=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "8baab586afc9c9b57645a734c820e4ac0a604af9",
|
||||
"rev": "f799ae951fde0627157f40aec28dec27b22076d0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -843,14 +827,14 @@
|
|||
"swayfx",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": "systems_4"
|
||||
"systems": "systems_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1768403764,
|
||||
"narHash": "sha256-1RVLChp1WUcjnDu30jG2DTXW0A6K3lkezEip3KTf/gE=",
|
||||
"lastModified": 1771859266,
|
||||
"narHash": "sha256-sUd6r/2cZ4slc6HB151LnEaf7b7g4bbYB36ADoYk564=",
|
||||
"owner": "wlrfx",
|
||||
"repo": "scenefx",
|
||||
"rev": "05a5e7a9177de04bc398e25821c0898c2a284c9f",
|
||||
"rev": "bb223e3e94b4576f514df96d03ff0680384a4e20",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -866,14 +850,14 @@
|
|||
"nixpkgs"
|
||||
],
|
||||
"scenefx": "scenefx",
|
||||
"systems": "systems_5"
|
||||
"systems": "systems_6"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1769467630,
|
||||
"narHash": "sha256-SufN5nd0+BojwTpe2tPuFIXswpLGo4syG/OwBF2Glzs=",
|
||||
"lastModified": 1772835103,
|
||||
"narHash": "sha256-4A4DEMDxJgPbbszLVdnlhFsvQS73X91dANZN0wbrX6g=",
|
||||
"owner": "WillPower3309",
|
||||
"repo": "swayfx",
|
||||
"rev": "c4ce2331c90120fafc12ba86200591255e836caf",
|
||||
"rev": "434d992494da97e46071618f56a527656d23161a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -957,9 +941,43 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_6": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_7": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"treefmt-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_6"
|
||||
"nixpkgs": [
|
||||
"noctalia",
|
||||
"noctalia-qs",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772660329,
|
||||
|
|
@ -980,8 +998,8 @@
|
|||
"elephant": [
|
||||
"elephant"
|
||||
],
|
||||
"nixpkgs": "nixpkgs_7",
|
||||
"systems": "systems_4"
|
||||
"nixpkgs": "nixpkgs_6",
|
||||
"systems": "systems_7"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1773675699,
|
||||
|
|
@ -1025,11 +1043,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772669058,
|
||||
"narHash": "sha256-XhnY0aRuDo5LT8pmJVPofPOgO2hAR7T+XRoaQxtNPzQ=",
|
||||
"lastModified": 1773601989,
|
||||
"narHash": "sha256-2tJf/CQoHApoIudxHeJye+0Ii7scR0Yyi7pNiWk0Hn8=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"rev": "906d0ac159803a7df2dc1f948df9327670380f69",
|
||||
"rev": "a9b862d1aa000a676d310cc62d249f7ad726233d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -1045,11 +1063,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1773722260,
|
||||
"narHash": "sha256-U8MsSiqqYZHR3oKE+cCZ2AJt3b4LcXs+oQuNLipaO78=",
|
||||
"lastModified": 1774759885,
|
||||
"narHash": "sha256-Y3D2GnZTO6BhGWeVcO6qUkiO5g0dDL2tmokLVWNC1WY=",
|
||||
"owner": "youwen5",
|
||||
"repo": "zen-browser-flake",
|
||||
"rev": "0e6e43342fb3e9a3439fafa777d8cdf98e4ffc49",
|
||||
"rev": "16e3f4cd221a030186a96015d82dcb3fb4afa4d6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
|||
|
|
@ -8,9 +8,5 @@
|
|||
{
|
||||
imports = [
|
||||
./kitty.nix
|
||||
./file-manager.nix
|
||||
./fish.nix
|
||||
./toys.nix
|
||||
|
||||
];
|
||||
}
|
||||
|
|
@ -6,13 +6,7 @@
|
|||
}:
|
||||
|
||||
{
|
||||
options = {
|
||||
terminal = {
|
||||
kitty.enable = lib.mkEnableOption "enable kitty";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.terminal.kitty.enable {
|
||||
config = lib.mkIf osConfig.apps.terminal.kitty.enable {
|
||||
programs = {
|
||||
kitty = {
|
||||
enable = true;
|
||||
|
|
@ -20,6 +14,7 @@
|
|||
shellIntegration = {
|
||||
enableFishIntegration = true;
|
||||
enableBashIntegration = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
font = {
|
||||
name = "FiraCode Nerd Font";
|
||||
|
|
@ -2,20 +2,12 @@
|
|||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
osConfig,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
options = {
|
||||
terminal = {
|
||||
ranger = {
|
||||
enable = lib.mkEnableOption "enable ranger";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.terminal.ranger.enable {
|
||||
config = lib.mkIf osConfig.apps.terminal.tui.ranger.enable {
|
||||
programs = {
|
||||
ranger = {
|
||||
enable = true;
|
||||
|
|
@ -65,8 +57,5 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
home.packages = with pkgs; [
|
||||
unzip
|
||||
];
|
||||
};
|
||||
}
|
||||
36
home/configs/niri/config.kdl
Normal file
36
home/configs/niri/config.kdl
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
output "AOC Q27G2WG4" {
|
||||
mode "2560x1440@144"
|
||||
position x=3840 y=0
|
||||
variable-refresh-rate on-demand=true
|
||||
}
|
||||
|
||||
input {
|
||||
keyboard {
|
||||
xkb {
|
||||
layout "de"
|
||||
}
|
||||
repeat-delay 600
|
||||
repeat-rate 20
|
||||
track-layout "global"
|
||||
}
|
||||
touchpad {
|
||||
|
||||
}
|
||||
mouse {
|
||||
accel-speed 0.5
|
||||
accel-profile "flat"
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
binds {
|
||||
Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; }
|
||||
Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; }
|
||||
|
||||
Mod+Left {focus-column-left; }
|
||||
Mod+Right {focus-column-right; }
|
||||
Mod+D { spawn "walker"; }
|
||||
Mod+Shift+P { quit; }
|
||||
Mod+Return { spawn "kitty";}
|
||||
}
|
||||
include "./noctalia.kdl"
|
||||
|
|
@ -7,6 +7,6 @@
|
|||
|
||||
{
|
||||
imports = [
|
||||
./sway.nix
|
||||
./desktop
|
||||
];
|
||||
}
|
||||
|
|
|
|||
13
home/desktop/default.nix
Normal file
13
home/desktop/default.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./window-managers
|
||||
./shell
|
||||
];
|
||||
}
|
||||
13
home/desktop/shell/default.nix
Normal file
13
home/desktop/shell/default.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./noctalia.nix
|
||||
./walker.nix
|
||||
];
|
||||
}
|
||||
19
home/desktop/shell/noctalia.nix
Normal file
19
home/desktop/shell/noctalia.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
lib,
|
||||
osConfig,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
config = lib.mkIf osConfig.desktop.shell.noctalia.enable {
|
||||
};
|
||||
|
||||
imports = lib.mkIf osConfig.desktop.shell.noctalia.enable [
|
||||
inputs.noctalia.homeModules.default
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
26
home/desktop/shell/walker.nix
Normal file
26
home/desktop/shell/walker.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
lib,
|
||||
osConfig,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
config = lib.mkIf osConfig.desktop.shell.walker.enable {
|
||||
programs = {
|
||||
walker = {
|
||||
enable = true;
|
||||
runAsService = true;
|
||||
config = {
|
||||
theme = "noctalia";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
imports = lib.mkIf osConfig.desktop.shell.walker.enable [
|
||||
inputs.walker.homeManagerModules.default
|
||||
]
|
||||
}
|
||||
14
home/desktop/window-managers/default.nix
Normal file
14
home/desktop/window-managers/default.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./hyprland.nix
|
||||
./niri.nix
|
||||
./sway.nix
|
||||
];
|
||||
}
|
||||
|
|
@ -3,6 +3,7 @@
|
|||
lib,
|
||||
pkgs,
|
||||
inputs,
|
||||
osConfig,
|
||||
...
|
||||
}:
|
||||
|
||||
|
|
@ -10,7 +11,6 @@
|
|||
options = {
|
||||
desktop = {
|
||||
hyprland = {
|
||||
enable = lib.mkEnableOption "enable hyprland";
|
||||
monitors = lib.mkOption {
|
||||
default = [
|
||||
",preferred,auto,1"
|
||||
|
|
@ -44,7 +44,7 @@
|
|||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.desktop.hyprland.enable {
|
||||
config = lib.mkIf osConfig.desktop.hyprland.enable {
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
configPackages = [
|
||||
|
|
@ -63,11 +63,6 @@
|
|||
];
|
||||
};
|
||||
};
|
||||
programs = {
|
||||
hyprlock = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
|
|
@ -84,14 +79,13 @@
|
|||
"XDG_SESSION_DESKTOP,Hyprland"
|
||||
];
|
||||
exec-once = [
|
||||
#"hyprctl plugin load "
|
||||
(lib.mkIf (config.desktop.walker.enable) "elephant")
|
||||
(lib.mkIf (config.desktop.waybar.enable) "waybar")
|
||||
(lib.mkIf (config.desktop.noctalia.enable) "noctalia-shell")
|
||||
(lib.mkIf (config.desktop.noctalia.enable) "noctalia-shell ipc call wallpaper random")
|
||||
(lib.mkIf (config.desktop.wallpaper.enable) "waypaper --restore --random")
|
||||
(lib.mkIf (config.gaming.steam.enable) "adwaita-steam-gtk -u; steam -silent")
|
||||
(lib.mkIf (config.internet.mail.providers.protonmail.enable) "protonmail-bridge -n")
|
||||
(lib.mkIf (osConfig.desktop.shell.walker.enable) "elephant")
|
||||
(lib.mkIf (osConfig.desktop.shell.waybar.enable) "waybar")
|
||||
(lib.mkIf (osConfig.desktop.shell.noctalia.enable) "noctalia-shell")
|
||||
(lib.mkIf (osConfig.desktop.shell.noctalia.enable) "noctalia-shell ipc call wallpaper random")
|
||||
(lib.mkIf (osConfig.desktop.shell.swww.enable) "waypaper --restore --random")
|
||||
(lib.mkIf (osConfig.gaming.steam.enable) "adwaita-steam-gtk -u; steam -silent")
|
||||
(lib.mkIf (osConfig.internet.mail.providers.protonmail.enable) "protonmail-bridge -n")
|
||||
"echo $HYPRLAND_INSTANCE_SIGNATURE > ~/.config/hypr/instance_signature"
|
||||
];
|
||||
"$mod" = "SUPER";
|
||||
|
|
@ -99,15 +93,12 @@
|
|||
"$controlmod" = "SUPER_CTRL";
|
||||
bind = [
|
||||
|
||||
(lib.mkIf (config.desktop.walker.enable) "$mod, D, exec, walker")
|
||||
(lib.mkIf (config.desktop.rofi.enable) "$mod, D, exec, rofi -show drun")
|
||||
(lib.mkIf (config.terminal.kitty.enable) "$mod, return, exec, kitty")
|
||||
(lib.mkIf (config.desktop.grimblast.enable) ", print, exec, GRIMBLAST_EDITOR=gradia grimblast edit area")
|
||||
(lib.mkIf (config.desktop.rofi.enable) (
|
||||
lib.mkIf (config.misc.bitwarden.enable) "$mod, B, exec, rbw unlocked || kitty --class kitty-floating -e rbw unlock; rofi-rbw; sleep 30; rbw lock"
|
||||
))
|
||||
(lib.mkIf (config.desktop.walker.enable) (
|
||||
lib.mkIf (config.misc.bitwarden.enable) "$mod, B, exec, rbw unlocked || kitty --class kitty-floating -e rbw unlock; selected=$(rbw list | walker -d); wl-copy $(rbw get \"$selected\"); sleep 30; rbw lock"
|
||||
(lib.mkIf (osConfig.desktop.shell.walker.enable) "$mod, D, exec, walker")
|
||||
(lib.mkIf (osConfig.desktop.shell.rofi.enable) "$mod, D, exec, rofi -show drun")
|
||||
"$mod, return, exec, ${osConfig.apps.terminal.binary}"
|
||||
(lib.mkIf (osConfig.desktop.utilities.grimblast.enable) ", print, exec, GRIMBLAST_EDITOR=gradia grimblast edit area")
|
||||
(lib.mkIf (osConfig.desktop.shell.walker.enable) (
|
||||
lib.mkIf (osConfig.misc.bitwarden.enable) "$mod, B, exec, rbw unlocked || kitty --class kitty-floating -e rbw unlock; selected=$(rbw list | walker -d); wl-copy $(rbw get \"$selected\"); sleep 30; rbw lock"
|
||||
))
|
||||
"$mod, F, fullscreen, 1"
|
||||
"$shiftmod, F, fullscreen, 0"
|
||||
|
|
@ -127,7 +118,6 @@
|
|||
"$mod, K, exec, playerctl play-pause"
|
||||
"$mod, L, exec, playerctl next"
|
||||
"$mod, G, togglefloating,"
|
||||
# "$mod, H, hyprexpo:expo, toggle"
|
||||
"$mod, F1, exec, hyprlock"
|
||||
"$shiftmod, E, exec, codium"
|
||||
"$controlmod, up, exec, light -A 10"
|
||||
|
|
@ -184,27 +174,7 @@
|
|||
color = "rgba(1a1a1aee)";
|
||||
};
|
||||
};
|
||||
# plugin = {
|
||||
# hyprexpo = {
|
||||
# columns = 2;
|
||||
# gap_size = 20;
|
||||
# bg_col = "rgb(e1e1e2)";
|
||||
# workspace_method = "first 1";
|
||||
# enable_gesture = true;
|
||||
# gesture_distance = 300;
|
||||
# gesture_positive = true;
|
||||
# gesture_negative = true;
|
||||
# };
|
||||
# hyprtrails = {
|
||||
# color = "rgba(1a1a1aee)";
|
||||
# };
|
||||
# };
|
||||
};
|
||||
plugins = [
|
||||
# inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprtrails
|
||||
# inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprexpo
|
||||
|
||||
];
|
||||
};
|
||||
home.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
};
|
||||
22
home/desktop/window-managers/niri.nix
Normal file
22
home/desktop/window-managers/niri.nix
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
inputs,
|
||||
osConfig,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
options = {
|
||||
desktop.window-managers = {
|
||||
niri = {
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
config = lib.mkIf osConfig.desktop.window-managers.niri.enable {
|
||||
xdg.configFile."niri/config.kdl".source = ../../configs/niri/config.kdl;
|
||||
|
||||
};
|
||||
}
|
||||
|
|
@ -8,14 +8,13 @@
|
|||
|
||||
{
|
||||
options = {
|
||||
desktop = {
|
||||
desktop.window-managers = {
|
||||
sway = {
|
||||
enable = lib.mkEnableOption "enable sway";
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
config = {
|
||||
config = lib.mkIf osConfig.desktop.window-managers.sway.enable {
|
||||
wayland.windowManager.sway = {
|
||||
enable = true;
|
||||
package = pkgs.swayfx;
|
||||
|
|
@ -37,7 +36,6 @@
|
|||
"${modifier}+Control+left" = "exec /home/marty/.config/sway/scripts/workspaceswitcher left";
|
||||
"${modifier}+f" = "fullscreen";
|
||||
|
||||
|
||||
"${modifier}+1" = "workspace number 1";
|
||||
"${modifier}+2" = "workspace number 2";
|
||||
"${modifier}+3" = "workspace number 3";
|
||||
|
|
@ -49,7 +47,6 @@
|
|||
"${modifier}+9" = "workspace number 9";
|
||||
"${modifier}+s" = "workspace number 0";
|
||||
|
||||
|
||||
"${modifier}+Shift+1" = "move container to workspace number 1";
|
||||
"${modifier}+Shift+2" = "move container to workspace number 2";
|
||||
"${modifier}+Shift+3" = "move container to workspace number 3";
|
||||
|
|
@ -63,11 +60,11 @@
|
|||
};
|
||||
input = {
|
||||
"*" = {
|
||||
xkb_layout = "de";
|
||||
xkb_layout = builtins.substring 0 2 osConfig.system.locale;
|
||||
};
|
||||
};
|
||||
defaultWorkspace = "workspace number 1";
|
||||
terminal = "${pkgs.kitty}/bin/kitty";
|
||||
terminal = osConfig.desktop.defaults.terminal.binary;
|
||||
};
|
||||
checkConfig = false;
|
||||
};
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
options = {
|
||||
desktop = {
|
||||
sway = {
|
||||
enable = lib.mkEnableOption "enable sway";
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
config = {
|
||||
wayland.windowManager.niri = {
|
||||
};
|
||||
};
|
||||
};
|
||||
81
hosts/default.nix
Normal file
81
hosts/default.nix
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
type = config.device.type;
|
||||
in
|
||||
|
||||
{
|
||||
options = {
|
||||
device = {
|
||||
type = lib.mkOption {
|
||||
default = "desktop";
|
||||
description = "device preset: desktop, laptop, server";
|
||||
};
|
||||
};
|
||||
};
|
||||
config = {
|
||||
apps = {
|
||||
audio = {
|
||||
base.enable = (lib.mkIf (type == "desktop")) true;
|
||||
media.enable = true;
|
||||
editing.enable = true;
|
||||
};
|
||||
video = {
|
||||
base.enable = true;
|
||||
media.enable = true;
|
||||
editing.enable = true;
|
||||
};
|
||||
image = {
|
||||
base.enable = true;
|
||||
editing.enable = true;
|
||||
};
|
||||
gaming = {
|
||||
steam.enable = true;
|
||||
};
|
||||
terminal = {
|
||||
kitty = {
|
||||
enable = true;
|
||||
};
|
||||
default = "kitty";
|
||||
toys = true;
|
||||
};
|
||||
};
|
||||
desktop = {
|
||||
window-managers = {
|
||||
hyprland = {
|
||||
enable = true;
|
||||
};
|
||||
niri = {
|
||||
enable = true;
|
||||
};
|
||||
sway = {
|
||||
enable = false;
|
||||
};
|
||||
};
|
||||
shell = {
|
||||
noctalia = {
|
||||
enable = true;
|
||||
};
|
||||
swww = {
|
||||
enable = false;
|
||||
};
|
||||
walker = {
|
||||
enable = true;
|
||||
};
|
||||
waybar = {
|
||||
enable = false;
|
||||
};
|
||||
};
|
||||
utilities = {
|
||||
grimblast = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
27
hosts/marty-pc/custom.nix
Normal file
27
hosts/marty-pc/custom.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
services.flatpak.enable = true;
|
||||
virtualisation.docker.enable = true;
|
||||
security.polkit = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
polkit.addRule(function(action, subject) {
|
||||
if (
|
||||
subject.isInGroup("users")
|
||||
&& (
|
||||
action.id == "org.freedesktop.login1.suspend"
|
||||
)
|
||||
)
|
||||
{
|
||||
return polkit.Result.YES;
|
||||
}
|
||||
});
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
@ -8,9 +8,13 @@
|
|||
...
|
||||
}:
|
||||
|
||||
let
|
||||
hostname = "marty-pc";
|
||||
in
|
||||
|
||||
{
|
||||
networking = {
|
||||
hostName = "marty-pc";
|
||||
hostName = hostname;
|
||||
interfaces = {
|
||||
enp42s0 = {
|
||||
wakeOnLan = {
|
||||
|
|
@ -20,7 +24,6 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
|
||||
home-manager = {
|
||||
extraSpecialArgs = { inherit inputs; };
|
||||
useGlobalPkgs = true;
|
||||
|
|
@ -29,60 +32,9 @@
|
|||
marty = import ./home.nix;
|
||||
};
|
||||
};
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
dedicatedServer.openFirewall = true;
|
||||
localNetworkGameTransfers.openFirewall = true;
|
||||
gamescopeSession.enable = true;
|
||||
protontricks.enable = true;
|
||||
extraCompatPackages = with pkgs; [
|
||||
proton-ge-bin
|
||||
];
|
||||
extraPackages = with pkgs; [
|
||||
gamescope
|
||||
];
|
||||
};
|
||||
programs.gamescope = {
|
||||
enable = true;
|
||||
capSysNice = true;
|
||||
};
|
||||
services.flatpak.enable = true;
|
||||
virtualisation.docker.enable = true;
|
||||
|
||||
imports = [ ./hardware.nix ];
|
||||
security.polkit = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
polkit.addRule(function(action, subject) {
|
||||
if (
|
||||
subject.isInGroup("users")
|
||||
&& (
|
||||
action.id == "org.freedesktop.login1.suspend"
|
||||
)
|
||||
)
|
||||
{
|
||||
return polkit.Result.YES;
|
||||
}
|
||||
});
|
||||
'';
|
||||
};
|
||||
environment.systemPackages = with pkgs; [
|
||||
qmk
|
||||
qmk-udev-rules
|
||||
qmk_hid
|
||||
via
|
||||
vial
|
||||
imports = [
|
||||
./hardware.nix
|
||||
./custom.nix
|
||||
];
|
||||
|
||||
services.udev = {
|
||||
packages = with pkgs; [
|
||||
qmk
|
||||
qmk-udev-rules
|
||||
qmk_hid
|
||||
via
|
||||
vial
|
||||
];
|
||||
};
|
||||
system.stateVersion = "25.05"; # Did you read the comment?
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,81 +3,15 @@
|
|||
pkgs,
|
||||
inputs,
|
||||
lib,
|
||||
osConfig,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
# Home Manager needs a bit of information about you and the paths it should
|
||||
# manage.
|
||||
home.username = "marty";
|
||||
home.homeDirectory = "/home/marty";
|
||||
|
||||
# This value determines the Home Manager release that your configuration is
|
||||
# compatible with. This helps avoid breakage when a new Home Manager release
|
||||
# introduces backwards incompatible changes.
|
||||
#
|
||||
# You should not change this value, even if you update Home Manager. If you do
|
||||
# want to update the value, then make sure to first check the Home Manager
|
||||
# release notes.
|
||||
home.stateVersion = "25.11"; # Please read the comment before changing.
|
||||
|
||||
# The home.packages option allows you to install Nix packages into your
|
||||
# environment.
|
||||
|
||||
programs.fish.enable = true;
|
||||
|
||||
home.packages = with pkgs; [
|
||||
# # Adds the 'hello' command to your environment. It prints a friendly
|
||||
# # "Hello, world!" when run.
|
||||
# hello
|
||||
|
||||
# # It is sometimes useful to fine-tune packages, for example, by applying
|
||||
# # overrides. You can do that directly here, just don't forget the
|
||||
# # parentheses. Maybe you want to install Nerd Fonts with a limited number of
|
||||
# # fonts?
|
||||
# (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
|
||||
|
||||
# # You can also create simple shell scripts directly inside your
|
||||
# # configuration. For example, this adds a command 'my-hello' to your
|
||||
# # environment:
|
||||
# (pkgs.writeShellScriptBin "my-hello" ''
|
||||
# echo "Hello, ${config.home.username}!"
|
||||
# '')
|
||||
];
|
||||
|
||||
# Home Manager is pretty good at managing dotfiles. The primary way to manage
|
||||
# plain files is through 'home.file'.
|
||||
home.file = {
|
||||
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
|
||||
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
|
||||
# # symlink to the Nix store copy.
|
||||
# ".screenrc".source = dotfiles/screenrc;
|
||||
|
||||
# # You can also set the file content immediately.
|
||||
# ".gradle/gradle.properties".text = ''
|
||||
# org.gradle.console=verbose
|
||||
# org.gradle.daemon.idletimeout=3600000
|
||||
# '';
|
||||
};
|
||||
|
||||
# Home Manager can also manage your environment variables through
|
||||
# 'home.sessionVariables'. These will be explicitly sourced when using a
|
||||
# shell provided by Home Manager. If you don't want to manage your shell
|
||||
# through Home Manager then you have to manually source 'hm-session-vars.sh'
|
||||
# located at either
|
||||
#
|
||||
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
|
||||
#
|
||||
# or
|
||||
#
|
||||
# ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh
|
||||
#
|
||||
# or
|
||||
#
|
||||
# /etc/profiles/per-user/marty/etc/profile.d/hm-session-vars.sh
|
||||
#
|
||||
|
||||
device.type.desktop = true;
|
||||
home.username = osConfig.user.userName;
|
||||
home.homeDirectory = "/home/${osConfig.user.userName}";
|
||||
home.stateVersion = "25.11";
|
||||
|
||||
desktop = {
|
||||
hyprland = {
|
||||
|
|
@ -104,18 +38,9 @@
|
|||
];
|
||||
};
|
||||
};
|
||||
gaming = {
|
||||
steam.enable = true;
|
||||
minecraft.enable = true;
|
||||
modding.enable = true;
|
||||
};
|
||||
|
||||
imports = [
|
||||
inputs.walker.homeManagerModules.default
|
||||
inputs.noctalia.homeModules.default
|
||||
./../../modules
|
||||
|
||||
];
|
||||
# Let Home Manager install and manage itself.
|
||||
programs.home-manager.enable = true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +0,0 @@
|
|||
# MODULES
|
||||
|
||||
todo:
|
||||
- [ ] move home-manager stuff to ../home
|
||||
- [ ] add server stuff
|
||||
|
||||
-> seperate home manager stuff from normal nix stuff, use home manager purely for dotfiles, use modules to install stuff
|
||||
26
modules/apps/audio/default.nix
Normal file
26
modules/apps/audio/default.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
options = {
|
||||
apps.audio = {
|
||||
base.enable = lib.mkEnableOption "enable basic audio";
|
||||
media.enable = lib.mkEnableOption "enable audio media";
|
||||
editing.enable = lib.mkEnableOption "enable audio editing";
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
environment.systemPackages = with pkgs; [
|
||||
(lib.mkIf (apps.audio.base.enable) pavucontrol)
|
||||
(lib.mkIf (apps.audio.base.enable) playerctl)
|
||||
(lib.mkIf (apps.audio.editing.enable) tenacity)
|
||||
(lib.mkIf (apps.audio.editing.enable) flac)
|
||||
];
|
||||
};
|
||||
}
|
||||
16
modules/apps/default.nix
Normal file
16
modules/apps/default.nix
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./audio
|
||||
./gaming
|
||||
./image
|
||||
./video
|
||||
./terminal
|
||||
];
|
||||
}
|
||||
|
|
@ -8,7 +8,6 @@
|
|||
{
|
||||
imports = [
|
||||
./steam.nix
|
||||
./modding.nix
|
||||
./minecraft.nix
|
||||
];
|
||||
}
|
||||
|
|
@ -7,13 +7,13 @@
|
|||
|
||||
{
|
||||
options = {
|
||||
gaming = {
|
||||
apps.gaming = {
|
||||
minecraft.enable = lib.mkEnableOption "enable minecraft";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.gaming.minecraft.enable {
|
||||
home.packages = with pkgs; [
|
||||
config = lib.mkIf config.apps.gaming.minecraft.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
prismlauncher
|
||||
];
|
||||
};
|
||||
41
modules/apps/gaming/steam.nix
Normal file
41
modules/apps/gaming/steam.nix
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
options = {
|
||||
apps.gaming = {
|
||||
steam.enable = lib.mkEnableOption "enable steam";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.apps.gaming.steam.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
adwsteamgtk
|
||||
];
|
||||
programs = {
|
||||
steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
dedicatedServer.openFirewall = true;
|
||||
localNetworkGameTransfers.openFirewall = true;
|
||||
gamescopeSession.enable = true;
|
||||
protontricks.enable = true;
|
||||
extraCompatPackages = with pkgs; [
|
||||
proton-ge-bin
|
||||
];
|
||||
extraPackages = with pkgs; [
|
||||
gamescope
|
||||
];
|
||||
};
|
||||
gamescope = {
|
||||
enable = true;
|
||||
capSysNice = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
24
modules/apps/image/default.nix
Normal file
24
modules/apps/image/default.nix
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
options = {
|
||||
apps.image = {
|
||||
base.enable = lib.mkEnableOption "enable basic image";
|
||||
editing.enable = lib.mkEnableOption "enable image editing";
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
environment.systemPackages = with pkgs; [
|
||||
(lib.mkIf (apps.image.base.enable) nomacs)
|
||||
(lib.mkIf (apps.image.editing.enable) gimp3-with-plugins)
|
||||
(lib.mkIf (apps.image.editing.enable) krita)
|
||||
];
|
||||
};
|
||||
}
|
||||
12
modules/apps/peripherals/default.nix
Normal file
12
modules/apps/peripherals/default.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./keyboard.nix
|
||||
];
|
||||
}
|
||||
26
modules/apps/peripherals/keyboard.nix
Normal file
26
modules/apps/peripherals/keyboard.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
qmk
|
||||
qmk-udev-rules
|
||||
qmk_hid
|
||||
via
|
||||
vial
|
||||
];
|
||||
|
||||
services.udev = {
|
||||
packages = with pkgs; [
|
||||
qmk
|
||||
qmk-udev-rules
|
||||
qmk_hid
|
||||
via
|
||||
vial
|
||||
];
|
||||
};
|
||||
}
|
||||
31
modules/apps/terminal/base-packages.nix
Normal file
31
modules/apps/terminal/base-packages.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
options = {
|
||||
apps.terminal.toys = lib.mkEnableOption "enable terminal toys";
|
||||
};
|
||||
config = {
|
||||
environment.systemPackages =
|
||||
with pkgs;
|
||||
[
|
||||
unzip
|
||||
btop
|
||||
]
|
||||
++ lib.mkIf config.apps.terminal.toys [
|
||||
|
||||
asciiquarium-transparent
|
||||
cava
|
||||
bunnyfetch
|
||||
nerdfetch
|
||||
fastfetch
|
||||
cmatrix
|
||||
astroterm
|
||||
];
|
||||
};
|
||||
}
|
||||
30
modules/apps/terminal/default.nix
Normal file
30
modules/apps/terminal/default.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
options = {
|
||||
apps.terminal = {
|
||||
package = lib.mkOption {
|
||||
default = "";
|
||||
description = "terminal package";
|
||||
};
|
||||
binary = lib.mkOption {
|
||||
default = "";
|
||||
description = "terminal binary";
|
||||
};
|
||||
default = lib.mkOption {
|
||||
default = "";
|
||||
description = "default terminal";
|
||||
};
|
||||
};
|
||||
};
|
||||
imports = [
|
||||
./base-packages.nix
|
||||
./kitty.nix
|
||||
./tui.nix
|
||||
];
|
||||
}
|
||||
25
modules/apps/terminal/kitty.nix
Normal file
25
modules/apps/terminal/kitty.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
options = {
|
||||
apps.terminal = {
|
||||
kitty.enable = lib.mkEnableOption "enable kitty";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.apps.terminal.kitty.enable {
|
||||
terminal = lib.mkIf (config.apps.terminal.default == "kitty") {
|
||||
package = pkgs.kitty;
|
||||
binary = "${pkgs.kitty}/bin/kitty";
|
||||
};
|
||||
environment.systemPackages = with pkgs; [
|
||||
kitty
|
||||
];
|
||||
};
|
||||
}
|
||||
25
modules/apps/terminal/tui.nix
Normal file
25
modules/apps/terminal/tui.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
tt = config.apps.terminal.tui;
|
||||
in
|
||||
|
||||
{
|
||||
options = {
|
||||
apps.terminal.tui = {
|
||||
ranger.enable = lib.mkEnableOption "enable ranger";
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
environment.systemPackages = with pkgs; [
|
||||
(lib.mkIf (tt.ranger.enable) ranger)
|
||||
];
|
||||
};
|
||||
}
|
||||
26
modules/apps/video/default.nix
Normal file
26
modules/apps/video/default.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
options = {
|
||||
apps.video = {
|
||||
base.enable = lib.mkEnableOption "enable basic video";
|
||||
editing.enable = lib.mkEnableOption "enable video editing";
|
||||
media.enable = lib.mkEnableOption "enable video media";
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
environment.systemPackages = with pkgs; [
|
||||
(lib.mkIf (apps.video.base.enable) mpv)
|
||||
(lib.mkIf (apps.video.editing.enable) kdePackages.kdenlive)
|
||||
(lib.mkIf (apps.video.media.enable) jellyfin-desktop)
|
||||
(lib.mkIf (apps.video.media.enable) pipeline)
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
@ -7,14 +7,9 @@
|
|||
|
||||
{
|
||||
imports = [
|
||||
./defaults
|
||||
./development
|
||||
./terminal
|
||||
./apps
|
||||
./desktop
|
||||
./misc
|
||||
./gaming
|
||||
./connectivity
|
||||
./media
|
||||
./server
|
||||
./system
|
||||
./user
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +0,0 @@
|
|||
# HOME
|
||||
|
||||
only for dotfiles, no longer installing stuff from here
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
options = {
|
||||
desktop = {
|
||||
audio.enable = lib.mkEnableOption "enable audio";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.desktop.audio.enable {
|
||||
home.packages = with pkgs; [
|
||||
pavucontrol
|
||||
playerctl
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
@ -7,16 +7,9 @@
|
|||
|
||||
{
|
||||
imports = [
|
||||
./hyprland.nix
|
||||
./walker.nix
|
||||
./waybar.nix
|
||||
./rofi.nix
|
||||
./wallpaper.nix
|
||||
./grimblast.nix
|
||||
./audio.nix
|
||||
./noctalia.nix
|
||||
];
|
||||
home.packages = with pkgs; [
|
||||
wl-clipboard
|
||||
./utilities
|
||||
./window-managers
|
||||
./shell
|
||||
./display-manager.nix
|
||||
];
|
||||
}
|
||||
|
|
|
|||
51
modules/desktop/display-manager.nix
Normal file
51
modules/desktop/display-manager.nix
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
services = {
|
||||
xserver = {
|
||||
xkb = {
|
||||
layout = builtins.substring 0 2 config.system.locale;
|
||||
variant = "";
|
||||
};
|
||||
};
|
||||
power-profiles-daemon = {
|
||||
enable = true;
|
||||
};
|
||||
upower = {
|
||||
enable = true;
|
||||
};
|
||||
displayManager = {
|
||||
gdm = {
|
||||
enable = true;
|
||||
autoSuspend = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
programs = {
|
||||
uwsm = {
|
||||
waylandCompositors = {
|
||||
hyprland = lib.mkIf config.desktop.window-managers.hyprland.enable {
|
||||
prettyName = "Hyprland";
|
||||
comment = "Hyprland";
|
||||
binPath = "${config.programs.hyprland.package}/bin/start-hyprland";
|
||||
};
|
||||
sway = lib.mkIf config.desktop.window-managers.sway.enable {
|
||||
prettyName = "Sway";
|
||||
comment = "Sway";
|
||||
binPath = "${config.programs.sway.package}/bin/sway --session";
|
||||
};
|
||||
niri = lib.mkIf config.desktop.window-managers.niri.enable {
|
||||
prettyName = "Niri";
|
||||
comment = "Niri";
|
||||
binPath = "${config.programs.niri.package}/bin/niri-session";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
options = {
|
||||
desktop = {
|
||||
noctalia.enable = lib.mkEnableOption "enable noctalia";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.desktop.noctalia.enable {
|
||||
|
||||
programs.noctalia-shell = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
options = {
|
||||
desktop = {
|
||||
rofi.enable = lib.mkEnableOption "enable rofi";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.desktop.rofi.enable {
|
||||
programs = {
|
||||
rofi = {
|
||||
enable = true;
|
||||
modes = [
|
||||
"drun"
|
||||
"run"
|
||||
"ssh"
|
||||
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
15
modules/desktop/shell/default.nix
Normal file
15
modules/desktop/shell/default.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./noctalia.nix
|
||||
./swww.nix
|
||||
./walker.nix
|
||||
./waybar.nix
|
||||
];
|
||||
}
|
||||
24
modules/desktop/shell/noctalia.nix
Normal file
24
modules/desktop/shell/noctalia.nix
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
options = {
|
||||
desktop.shell = {
|
||||
noctalia.enable = lib.mkEnableOption "enable noctalia";
|
||||
};
|
||||
};
|
||||
imports = lib.mkIf config.desktop.shell.noctalia.enable [
|
||||
inputs.noctalia.homeModules.default
|
||||
];
|
||||
config = lib.mkIf config.desktop.shell.noctalia.enable {
|
||||
desktop.shell.swww.enable = lib.mkDefault false;
|
||||
programs.noctalia-shell = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
22
modules/desktop/shell/swww.nix
Normal file
22
modules/desktop/shell/swww.nix
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
options = {
|
||||
desktop.shell = {
|
||||
swww.enable = lib.mkEnableOption "enable swww";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.desktop.shell.swww.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
waypaper
|
||||
swww
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
@ -8,19 +8,15 @@
|
|||
|
||||
{
|
||||
options = {
|
||||
desktop = {
|
||||
desktop.shell = {
|
||||
walker.enable = lib.mkEnableOption "enable walker";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.desktop.walker.enable {
|
||||
config = lib.mkIf config.desktop.shell.walker.enable {
|
||||
programs = {
|
||||
walker = {
|
||||
enable = true;
|
||||
runAsService = true;
|
||||
config = {
|
||||
theme = "noctalia";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -7,12 +7,12 @@
|
|||
|
||||
{
|
||||
options = {
|
||||
desktop = {
|
||||
desktop.shell = {
|
||||
waybar.enable = lib.mkEnableOption "enable waybar";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.desktop.waybar.enable {
|
||||
config = lib.mkIf config.desktop.shell.waybar.enable {
|
||||
programs = {
|
||||
waybar = {
|
||||
enable = true;
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
options = {
|
||||
desktop = {
|
||||
sway = {
|
||||
enable = lib.mkEnableOption "enable sway";
|
||||
};
|
||||
};
|
||||
};
|
||||
config = lib.mkIf config.desktop.sway.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
grim # screenshot functionality
|
||||
slurp # screenshot functionality
|
||||
wl-clipboard # wl-copy and wl-paste for copy/paste from stdin / stdout
|
||||
];
|
||||
|
||||
# Enable the gnome-keyring secrets vault.
|
||||
# Will be exposed through DBus to programs willing to store secrets.
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
|
||||
programs.sway = {
|
||||
enable = true;
|
||||
wrapperFeatures.gtk = true;
|
||||
package = null;
|
||||
};
|
||||
};
|
||||
}
|
||||
12
modules/desktop/utilities/default.nix
Normal file
12
modules/desktop/utilities/default.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./grimblast.nix
|
||||
];
|
||||
}
|
||||
|
|
@ -8,13 +8,13 @@
|
|||
|
||||
{
|
||||
options = {
|
||||
desktop = {
|
||||
desktop.utilities = {
|
||||
grimblast.enable = lib.mkEnableOption "enable grimblast";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.desktop.grimblast.enable {
|
||||
home.packages = with pkgs; [
|
||||
config = lib.mkIf config.desktop.utilities.grimblast.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
grimblast
|
||||
gradia
|
||||
];
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
options = {
|
||||
desktop = {
|
||||
wallpaper.enable = lib.mkEnableOption "enable wallpapers";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.desktop.wallpaper.enable {
|
||||
home.packages = with pkgs; [
|
||||
waypaper
|
||||
swww
|
||||
];
|
||||
};
|
||||
}
|
||||
14
modules/desktop/window-managers/default.nix
Normal file
14
modules/desktop/window-managers/default.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./hyprland.nix
|
||||
./niri.nix
|
||||
./sway.nix
|
||||
];
|
||||
}
|
||||
27
modules/desktop/window-managers/hyprland.nix
Normal file
27
modules/desktop/window-managers/hyprland.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
options = {
|
||||
desktop.window-managers = {
|
||||
hyprland = {
|
||||
enable = lib.mkEnableOption "enable hyprland";
|
||||
};
|
||||
};
|
||||
};
|
||||
config = lib.mkIf config.desktop.window-managers.hyprland.enable {
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
withUWSM = true;
|
||||
xwayland.enable = true;
|
||||
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
portalPackage =
|
||||
inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -7,21 +7,17 @@
|
|||
|
||||
{
|
||||
options = {
|
||||
desktop = {
|
||||
desktop.window-managers = {
|
||||
niri = {
|
||||
enable = lib.mkEnableOption "enable niri";
|
||||
};
|
||||
};
|
||||
};
|
||||
config = lib.mkIf config.desktop.niri.enable {
|
||||
|
||||
# Enable the gnome-keyring secrets vault.
|
||||
# Will be exposed through DBus to programs willing to store secrets.
|
||||
config = lib.mkIf config.desktop.window-managers.niri.enable {
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
environment.systemPackages = with pkgs; [
|
||||
xwayland-satellite
|
||||
niri
|
||||
];
|
||||
xwayland-satellite
|
||||
];
|
||||
programs.niri = {
|
||||
enable = true;
|
||||
};
|
||||
24
modules/desktop/window-managers/sway.nix
Normal file
24
modules/desktop/window-managers/sway.nix
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
options = {
|
||||
desktop.window-managers = {
|
||||
sway = {
|
||||
enable = lib.mkEnableOption "enable sway";
|
||||
};
|
||||
};
|
||||
};
|
||||
config = lib.mkIf config.desktop.window-managers.sway.enable {
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
programs.sway = {
|
||||
enable = true;
|
||||
wrapperFeatures.gtk = true;
|
||||
package = null;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
options = {
|
||||
gaming = {
|
||||
modding.enable = lib.mkEnableOption "enable game modding";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.gaming.modding.enable {
|
||||
home.packages = with pkgs; [
|
||||
limo
|
||||
r2modman
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
options = {
|
||||
gaming = {
|
||||
steam.enable = lib.mkEnableOption "enable steam";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.gaming.steam.enable {
|
||||
home.packages = with pkgs; [
|
||||
adwsteamgtk
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
options = {
|
||||
media = {
|
||||
audio = {
|
||||
enable = lib.mkEnableOption "enable all audio media";
|
||||
tenacity.enable = lib.mkEnableOption "enable tenacity";
|
||||
flac.enable = lib.mkEnableOption "enable flac";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
media.audio = lib.mkIf config.media.audio.enable {
|
||||
tenacity.enable = lib.mkDefault true;
|
||||
flac.enable = lib.mkDefault true;
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
(lib.mkIf (config.media.audio.tenacity.enable) tenacity)
|
||||
(lib.mkIf (config.media.audio.flac.enable) flac)
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./images.nix
|
||||
./video.nix
|
||||
./audio.nix
|
||||
./3d.nix
|
||||
];
|
||||
}
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
options = {
|
||||
media = {
|
||||
images = {
|
||||
enable = lib.mkEnableOption "enable all image media";
|
||||
nomacs.enable = lib.mkEnableOption "enable nomacs";
|
||||
gimp.enable = lib.mkEnableOption "enable gimp";
|
||||
krita.enable = lib.mkEnableOption "enable krita";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
media.images = lib.mkIf config.media.images.enable {
|
||||
nomacs.enable = lib.mkDefault true;
|
||||
gimp.enable = lib.mkDefault true;
|
||||
krita.enable = lib.mkDefault true;
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
(lib.mkIf (config.media.images.nomacs.enable) nomacs)
|
||||
(lib.mkIf (config.media.images.gimp.enable) gimp3-with-plugins)
|
||||
(lib.mkIf (config.media.images.krita.enable) krita)
|
||||
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
options = {
|
||||
media = {
|
||||
video = {
|
||||
enable = lib.mkEnableOption "enable all video media";
|
||||
mpv.enable = lib.mkEnableOption "enable mpv";
|
||||
kdenlive.enable = lib.mkEnableOption "enable kdenlive";
|
||||
tsukimi.enable = lib.mkEnableOption "enable tsukimi (jellyfin client)";
|
||||
jellyfin.enable = lib.mkEnableOption "enable jellyin (jellyfin client)";
|
||||
pipeline.enable = lib.mkEnableOption "enable pipeline (you/peertube client)";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
media.video = lib.mkIf config.media.video.enable {
|
||||
kdenlive.enable = lib.mkDefault true;
|
||||
mpv.enable = lib.mkDefault true;
|
||||
tsukimi.enable = lib.mkDefault true;
|
||||
jellyfin.enable = lib.mkDefault true;
|
||||
pipeline.enable = lib.mkDefault true;
|
||||
};
|
||||
home.packages = with pkgs; [
|
||||
(lib.mkIf (config.media.video.kdenlive.enable) kdePackages.kdenlive)
|
||||
(lib.mkIf (config.media.video.tsukimi.enable) tsukimi)
|
||||
(lib.mkIf (config.media.video.jellyfin.enable) jellyfin-desktop)
|
||||
(lib.mkIf (config.media.video.pipeline.enable) pipeline)
|
||||
];
|
||||
programs = {
|
||||
mpv = lib.mkIf config.media.video.mpv.enable {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -8,11 +8,11 @@
|
|||
{
|
||||
options = {
|
||||
domain = lib.mkOption {
|
||||
default = "example.com";
|
||||
default = "marty.tf";
|
||||
description = "set domain name";
|
||||
};
|
||||
email = lib.mkOption {
|
||||
default = "${config.main-user.userName}.${config.domain}";
|
||||
default = "${config.user.userName}@${config.domain}";
|
||||
description = "set email";
|
||||
};
|
||||
nginx = {
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
timeout = 3;
|
||||
efi.canTouchEfiVariables = true;
|
||||
};
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
kernelPackages = pkgs.linuxPackages_zen;
|
||||
kernel = {
|
||||
sysctl = {
|
||||
"vm.swappiness" = 10;
|
||||
|
|
@ -10,7 +10,6 @@
|
|||
./boot.nix
|
||||
./shell.nix
|
||||
./networking.nix
|
||||
./display-manager.nix
|
||||
./localization.nix
|
||||
./fira-code.nix
|
||||
./nixos-cli.nix
|
||||
|
|
@ -7,7 +7,4 @@
|
|||
|
||||
{
|
||||
environment.systemPackages = [ pkgs.nerd-fonts.fira-code ];
|
||||
# console = {
|
||||
# font = "FiraCode Nerd Font";
|
||||
# };
|
||||
}
|
||||
51
modules/system/localization.nix
Normal file
51
modules/system/localization.nix
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
timezone = config.system.timezone;
|
||||
language = config.system.language;
|
||||
locale = config.system.locale;
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
options = {
|
||||
system = {
|
||||
timezone = lib.mkOption {
|
||||
default = "Europe/Berlin";
|
||||
description = "timezone";
|
||||
};
|
||||
language = lib.mkOption {
|
||||
default = "en_GB.UTF-8";
|
||||
description = "language";
|
||||
};
|
||||
locale = lib.mkOption {
|
||||
default = "de_DE.UTF-8";
|
||||
description = "locale";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
time.timeZone = timezone;
|
||||
i18n = {
|
||||
defaultLocale = language;
|
||||
extraLocaleSettings = {
|
||||
LC_ADDRESS = locale;
|
||||
LC_IDENTIFICATION = locale;
|
||||
LC_MEASUREMENT = locale;
|
||||
LC_MONETARY = locale;
|
||||
LC_NAME = locale;
|
||||
LC_NUMERIC = locale;
|
||||
LC_PAPER = locale;
|
||||
LC_TELEPHONE = locale;
|
||||
LC_TIME = locale;
|
||||
};
|
||||
};
|
||||
console.keyMap = builtins.substring 0 2 locale;
|
||||
};
|
||||
}
|
||||
|
|
@ -7,5 +7,9 @@
|
|||
util-linux
|
||||
];
|
||||
};
|
||||
programs.fish.enable = true;
|
||||
programs = {
|
||||
fish.enable = true;
|
||||
bash.enable = true;
|
||||
zsh.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
options = {
|
||||
terminal = {
|
||||
fish.enable = lib.mkEnableOption "enable fish";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.terminal.fish.enable {
|
||||
programs = {
|
||||
fish = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
options = {
|
||||
terminal = {
|
||||
toys.enable = lib.mkEnableOption "enable terminal toys";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.terminal.toys.enable {
|
||||
home.packages = with pkgs; [
|
||||
asciiquarium-transparent
|
||||
cava
|
||||
bunnyfetch
|
||||
nerdfetch
|
||||
fastfetch
|
||||
cmatrix
|
||||
astroterm
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
{
|
||||
options = {
|
||||
main-user = {
|
||||
user = {
|
||||
userName = lib.mkOption {
|
||||
default = "marty";
|
||||
description = ''
|
||||
|
|
@ -25,9 +25,9 @@
|
|||
};
|
||||
|
||||
config = {
|
||||
users.users.${config.main-user.userName} = {
|
||||
users.users.${config.user.userName} = {
|
||||
isNormalUser = true;
|
||||
description = "main user";
|
||||
description = "${config.user.userName}";
|
||||
extraGroups = [
|
||||
"networkmanager"
|
||||
"wheel"
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
"render"
|
||||
"docker"
|
||||
];
|
||||
shell = pkgs.fish;
|
||||
shell = config.user.shell;
|
||||
};
|
||||
|
||||
security.sudo = {
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue