Compare commits
3 Commits
68eecd01c7
...
63f4c82c76
| Author | SHA1 | Date | |
|---|---|---|---|
| 63f4c82c76 | |||
| 677b1b6666 | |||
| b827b518cd |
@@ -1,37 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
gsettings set org.gnome.desktop.background primary-color "#555555"
|
|
||||||
|
|
||||||
gsettings set org.gnome.desktop.wm.preferences workspace-names "['sh', 'www', 'dev', 'info', 'etc']"
|
|
||||||
gsettings set org.gnome.desktop.wm.keybindings close "['<Shift><Super>Delete']"
|
|
||||||
gsettings set org.gnome.desktop.wm.keybindings switch-applications "['<Super>j']"
|
|
||||||
gsettings set org.gnome.desktop.wm.keybindings switch-applications-backward "['<Super>k']"
|
|
||||||
gsettings set org.gnome.shell.keybindings toggle-application-view "['<Super>p']"
|
|
||||||
gsettings set org.gnome.mutter center-new-windows true
|
|
||||||
gsettings set org.gnome.shell.keybindings toggle-quick-settings []
|
|
||||||
|
|
||||||
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-1 "['<Super>a']"
|
|
||||||
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-2 "['<Super>s']"
|
|
||||||
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-3 "['<Super>d']"
|
|
||||||
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-4 "['<Super>f']"
|
|
||||||
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-5 "['<Super>g']"
|
|
||||||
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-1 "['<Super><Shift>a']"
|
|
||||||
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-2 "['<Super><Shift>s']"
|
|
||||||
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-3 "['<Super><Shift>d']"
|
|
||||||
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-4 "['<Super><Shift>f']"
|
|
||||||
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-5 "['<Super><Shift>g']"
|
|
||||||
|
|
||||||
gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/']"
|
|
||||||
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ name "Kitty"
|
|
||||||
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ command "kitty"
|
|
||||||
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ binding "<Shift><Super>Return"
|
|
||||||
|
|
||||||
gsettings set org.gnome.shell.keybindings screenshot "['Print']"
|
|
||||||
|
|
||||||
gsettings set org.gnome.desktop.wm.preferences num-workspaces "5"
|
|
||||||
gsettings set org.gnome.mutter dynamic-workspaces "false"
|
|
||||||
gsettings set org.gnome.shell.extensions.window-list display-all-workspaces "true"
|
|
||||||
gsettings set org.gnome.shell.app-switcher current-workspace-only "true"
|
|
||||||
|
|
||||||
gsettings set org.gnome.login-screen logo ''
|
|
||||||
gsettings set org.gnome.shell favorite-apps "['firefox-developer-edition.desktop']"
|
|
||||||
6
dots/.config/nvim/flake.lock
generated
6
dots/.config/nvim/flake.lock
generated
@@ -73,11 +73,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1769421245,
|
"lastModified": 1769433173,
|
||||||
"narHash": "sha256-m5QLKjpdhbDrhyrUbEm5Haq3lqE5Z6xh2tab5vTHUTo=",
|
"narHash": "sha256-Gf1dFYgD344WZ3q0LPlRoWaNdNQq8kSBDLEWulRQSEs=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "5b265bda51b42a2a85af0a543c3e57b778b01b7d",
|
"rev": "13b0f9e6ac78abbbb736c635d87845c4f4bee51b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -174,7 +174,7 @@
|
|||||||
|
|
||||||
packageDefinitions = {
|
packageDefinitions = {
|
||||||
nvim =
|
nvim =
|
||||||
{ ... }:
|
_:
|
||||||
{
|
{
|
||||||
settings = {
|
settings = {
|
||||||
suffix-path = true;
|
suffix-path = true;
|
||||||
|
|||||||
12
flake.lock
generated
12
flake.lock
generated
@@ -53,11 +53,11 @@
|
|||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"dir": "pkgs/firefox-addons",
|
"dir": "pkgs/firefox-addons",
|
||||||
"lastModified": 1769400223,
|
"lastModified": 1769486619,
|
||||||
"narHash": "sha256-YJRz6mriRWr5wGftEwm8KFRKtu6ZgsX21NYeXVKGd9M=",
|
"narHash": "sha256-MEBKRsOj9s65KRvvugu4i7ytW2eASk67pFDgxgwsEr4=",
|
||||||
"owner": "rycee",
|
"owner": "rycee",
|
||||||
"repo": "nur-expressions",
|
"repo": "nur-expressions",
|
||||||
"rev": "25dae404070232baab384b281dbdc8eb70f37ad0",
|
"rev": "02ae5ccdcbe8defe6047840a7b46e67e215bef69",
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -458,11 +458,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1769314333,
|
"lastModified": 1769469829,
|
||||||
"narHash": "sha256-+Uvq9h2eGsbhacXpuS7irYO7fFlz514nrhPCSTkASlw=",
|
"narHash": "sha256-wFcr32ZqspCxk4+FvIxIL0AZktRs6DuF8oOsLt59YBU=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "2eb9eed7ef48908e0f02985919f7eb9d33fa758f",
|
"rev": "c5eebd4eb2e3372fe12a8d70a248a6ee9dd02eff",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -56,7 +56,7 @@
|
|||||||
}@inputs:
|
}@inputs:
|
||||||
let
|
let
|
||||||
inherit (self) outputs;
|
inherit (self) outputs;
|
||||||
lib = inputs.nixpkgs.lib;
|
inherit (inputs.nixpkgs) lib;
|
||||||
utils = import ./utils { inherit lib; };
|
utils = import ./utils { inherit lib; };
|
||||||
hostDirNames = utils.dirNames ./hosts;
|
hostDirNames = utils.dirNames ./hosts;
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
|
|||||||
@@ -27,9 +27,11 @@ in
|
|||||||
../../modules/shell
|
../../modules/shell
|
||||||
];
|
];
|
||||||
|
|
||||||
home.stateVersion = "25.05";
|
home = {
|
||||||
home.username = username;
|
stateVersion = "25.05";
|
||||||
home.homeDirectory = "/home/${username}";
|
inherit username;
|
||||||
|
homeDirectory = "/home/${username}";
|
||||||
|
};
|
||||||
|
|
||||||
xdg.userDirs.createDirectories = false;
|
xdg.userDirs.createDirectories = false;
|
||||||
xdg.userDirs.download = "${config.home.homeDirectory}/dl";
|
xdg.userDirs.download = "${config.home.homeDirectory}/dl";
|
||||||
|
|||||||
@@ -23,9 +23,11 @@ in
|
|||||||
../../modules/shell
|
../../modules/shell
|
||||||
];
|
];
|
||||||
|
|
||||||
home.stateVersion = "25.05";
|
home = {
|
||||||
home.username = username;
|
stateVersion = "25.05";
|
||||||
home.homeDirectory = "/home/${username}";
|
inherit username;
|
||||||
|
homeDirectory = "/home/${username}";
|
||||||
|
};
|
||||||
|
|
||||||
xdg.userDirs.createDirectories = false;
|
xdg.userDirs.createDirectories = false;
|
||||||
xdg.userDirs.download = "${config.home.homeDirectory}/dl";
|
xdg.userDirs.download = "${config.home.homeDirectory}/dl";
|
||||||
|
|||||||
@@ -45,12 +45,14 @@ in
|
|||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
home.stateVersion = "25.05";
|
home = {
|
||||||
home.username = username;
|
stateVersion = "25.05";
|
||||||
home.homeDirectory = "/home/${username}";
|
inherit username;
|
||||||
|
homeDirectory = "/home/${username}";
|
||||||
|
};
|
||||||
|
|
||||||
targets.genericLinux.nixGL = {
|
targets.genericLinux.nixGL = {
|
||||||
packages = inputs.nixgl.packages;
|
inherit (inputs.nixgl) packages;
|
||||||
defaultWrapper = "mesa";
|
defaultWrapper = "mesa";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -13,4 +13,4 @@ let
|
|||||||
[ ];
|
[ ];
|
||||||
in
|
in
|
||||||
|
|
||||||
[ ] ++ localPackages
|
localPackages
|
||||||
|
|||||||
@@ -1,21 +1,13 @@
|
|||||||
|
{ config, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
terminal = "kitty";
|
||||||
|
browser = config.browser.primary;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
dconf.settings = {
|
dconf.settings = {
|
||||||
"org/gnome/settings-daemon/plugins/color" = {
|
|
||||||
night-light-enabled = true;
|
|
||||||
night-light-schedule-automatic = true;
|
|
||||||
};
|
|
||||||
"org/gnome/desktop/interface" = {
|
|
||||||
color-scheme = "prefer-dark";
|
|
||||||
};
|
|
||||||
|
|
||||||
"org/gnome/desktop/applications/terminal" = {
|
|
||||||
exec = "kitty";
|
|
||||||
exec-arg = "";
|
|
||||||
};
|
|
||||||
|
|
||||||
"org/gnome/desktop/background" = {
|
"org/gnome/desktop/background" = {
|
||||||
color-shading-type = "solid";
|
color-shading-type = "solid";
|
||||||
picture-opacity = 100;
|
|
||||||
picture-options = "zoom";
|
picture-options = "zoom";
|
||||||
picture-uri = "none";
|
picture-uri = "none";
|
||||||
picture-uri-dark = "none";
|
picture-uri-dark = "none";
|
||||||
@@ -24,55 +16,54 @@
|
|||||||
show-desktop-icons = false;
|
show-desktop-icons = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
# "org/gnome/desktop/input-sources" = {
|
"org/gnome/desktop/default-applications/office/calendar" = {
|
||||||
# sources = [
|
exec = "${browser} https://calendar.proton.me";
|
||||||
# (mkTuple [
|
needs-term = false;
|
||||||
# "xkb"
|
};
|
||||||
# "us"
|
|
||||||
# ])
|
"org/gnome/desktop/default-applications/office/tasks" = {
|
||||||
# ];
|
exec = "task";
|
||||||
# xkb-options = [ "caps:none" ];
|
needs-term = true;
|
||||||
# };
|
};
|
||||||
|
|
||||||
|
"org/gnome/desktop/default-applications/terminal" = {
|
||||||
|
exec = terminal;
|
||||||
|
exec-arg = "";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gnome/desktop/input-sources" = {
|
||||||
|
xkb-options = [ "caps:none" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gnome/desktop/interface" = {
|
||||||
|
clock-format = "24h";
|
||||||
|
clock-show-weekday = true;
|
||||||
|
color-scheme = "prefer-dark";
|
||||||
|
enable-hot-corners = false;
|
||||||
|
font-name = "Iosevka Term SS08 12";
|
||||||
|
locate-pointer = true;
|
||||||
|
monospace-font-name = "Iosevka Term SS08 12";
|
||||||
|
};
|
||||||
|
|
||||||
"org/gnome/desktop/wm/keybindings" = {
|
"org/gnome/desktop/wm/keybindings" = {
|
||||||
close = [ "<Shift><Super>Delete" ];
|
close = [ "<Shift><Super>Delete" ];
|
||||||
cycle-group = [ ];
|
minimize = [ "<Super>h" ];
|
||||||
cycle-group-backward = [ ];
|
move-to-monitor-down = [ "<Super><Shift>Down" ];
|
||||||
cycle-panels = [ ];
|
move-to-monitor-left = [ "<Super><Shift>Left" ];
|
||||||
cycle-panels-backward = [ ];
|
move-to-monitor-right = [ "<Super><Shift>Right" ];
|
||||||
cycle-windows = [ ];
|
move-to-monitor-up = [ "<Super><Shift>Up" ];
|
||||||
cycle-windows-backward = [ ];
|
|
||||||
maximize = [ "<Super> " ];
|
|
||||||
minimize = [ ];
|
|
||||||
move-to-workspace-1 = [ "<Super><Shift>a" ];
|
move-to-workspace-1 = [ "<Super><Shift>a" ];
|
||||||
move-to-workspace-2 = [ "<Super><Shift>s" ];
|
move-to-workspace-2 = [ "<Super><Shift>s" ];
|
||||||
move-to-workspace-3 = [ "<Super><Shift>d" ];
|
move-to-workspace-3 = [ "<Super><Shift>d" ];
|
||||||
move-to-workspace-4 = [ "<Super><Shift>f" ];
|
move-to-workspace-4 = [ "<Super><Shift>f" ];
|
||||||
move-to-workspace-5 = [ "<Super><Shift>g" ];
|
move-to-workspace-5 = [ "<Super><Shift>g" ];
|
||||||
move-to-workspace-last = [ ];
|
|
||||||
move-to-workspace-left = [ "<Super><Shift>h" ];
|
|
||||||
move-to-workspace-right = [ "<Super><Shift>l" ];
|
|
||||||
panel-run-dialog = [ ];
|
|
||||||
switch-applications = [ "<Super>j" ];
|
switch-applications = [ "<Super>j" ];
|
||||||
switch-applications-backward = [ "<Super>k" ];
|
switch-applications-backward = [ "<Super>k" ];
|
||||||
switch-group = [ ];
|
|
||||||
switch-group-backward = [ ];
|
|
||||||
switch-input-source = [ ];
|
|
||||||
switch-input-source-backward = [ ];
|
|
||||||
switch-panels = [ ];
|
|
||||||
switch-panels-backward = [ ];
|
|
||||||
switch-to-workspace-1 = [ "<Super>a" ];
|
switch-to-workspace-1 = [ "<Super>a" ];
|
||||||
switch-to-workspace-2 = [ "<Super>s" ];
|
switch-to-workspace-2 = [ "<Super>s" ];
|
||||||
switch-to-workspace-3 = [ "<Super>d" ];
|
switch-to-workspace-3 = [ "<Super>d" ];
|
||||||
switch-to-workspace-4 = [ "<Super>f" ];
|
switch-to-workspace-4 = [ "<Super>f" ];
|
||||||
switch-to-workspace-5 = [ "<Super>g" ];
|
switch-to-workspace-5 = [ "<Super>g" ];
|
||||||
switch-to-workspace-last = [ ];
|
|
||||||
switch-to-workspace-left = [ "<Super>h" ];
|
|
||||||
switch-to-workspace-right = [ "<Super>l" ];
|
|
||||||
switch-windows = [ ];
|
|
||||||
switch-windows-backward = [ ];
|
|
||||||
toggle-maximized = [ "<Super>space" ];
|
|
||||||
unmaximize = [ ];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
"org/gnome/desktop/wm/preferences" = {
|
"org/gnome/desktop/wm/preferences" = {
|
||||||
@@ -86,8 +77,19 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
"org/gnome/mutter" = {
|
||||||
|
center-new-windows = true;
|
||||||
|
dynamic-workspaces = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gnome/settings-daemon/plugins/color" = {
|
||||||
|
night-light-enabled = true;
|
||||||
|
night-light-schedule-automatic = true;
|
||||||
|
};
|
||||||
|
|
||||||
"org/gnome/settings-daemon/plugins/media-keys" = {
|
"org/gnome/settings-daemon/plugins/media-keys" = {
|
||||||
custom-keybindings = [
|
custom-keybindings = [
|
||||||
|
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/"
|
||||||
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/"
|
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
@@ -100,12 +102,19 @@
|
|||||||
|
|
||||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = {
|
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = {
|
||||||
binding = "<Super>Return";
|
binding = "<Super>Return";
|
||||||
command = "kitty";
|
command = terminal;
|
||||||
name = "Kitty";
|
name = "Kitty";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
"org/gnome/settings-daemon/plugins/power" = {
|
||||||
|
power-button-action = "suspend";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gnome/shell/app-switcher" = {
|
||||||
|
current-workspace-only = true;
|
||||||
|
};
|
||||||
|
|
||||||
"org/gnome/shell/keybindings" = {
|
"org/gnome/shell/keybindings" = {
|
||||||
screenshot = [ "Print" ];
|
|
||||||
toggle-application-view = [ "<Super>p" ];
|
toggle-application-view = [ "<Super>p" ];
|
||||||
toggle-quick-settings = [ ];
|
toggle-quick-settings = [ ];
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
cfg = config.shell.bash;
|
cfg = config.shell.bash;
|
||||||
username = config.home.username;
|
inherit (config.home) username;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.shell.bash = {
|
options.shell.bash = {
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ in
|
|||||||
../../modules/desktops/niri
|
../../modules/desktops/niri
|
||||||
../../modules/bluetooth
|
../../modules/bluetooth
|
||||||
../../modules/keyboard
|
../../modules/keyboard
|
||||||
(import ../../modules/networking { hostName = hostName; })
|
(import ../../modules/networking { inherit hostName; })
|
||||||
../../modules/users
|
../../modules/users
|
||||||
../../modules/audio
|
../../modules/audio
|
||||||
../../modules/localization
|
../../modules/localization
|
||||||
@@ -93,36 +93,37 @@ in
|
|||||||
inputs.nvim.packages.x86_64-linux.nvim
|
inputs.nvim.packages.x86_64-linux.nvim
|
||||||
];
|
];
|
||||||
|
|
||||||
services.xserver = {
|
services = {
|
||||||
videoDrivers = [ "nvidia" ];
|
xserver = {
|
||||||
};
|
videoDrivers = [ "nvidia" ];
|
||||||
|
};
|
||||||
|
|
||||||
services.openssh = {
|
openssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
harden = true;
|
harden = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.syncthing = {
|
syncthing = {
|
||||||
enable = true;
|
enable = true;
|
||||||
openDefaultPorts = true;
|
openDefaultPorts = true;
|
||||||
settings = {
|
settings = {
|
||||||
devices = {
|
devices = {
|
||||||
# "device1" = {
|
# "device1" = {
|
||||||
# id = "DEVICE-ID-GOES-HERE";
|
# id = "DEVICE-ID-GOES-HERE";
|
||||||
# };
|
# };
|
||||||
};
|
};
|
||||||
folders = {
|
folders = {
|
||||||
"/home/${username}/sync" = {
|
"/home/${username}/sync" = {
|
||||||
id = "sync";
|
id = "sync";
|
||||||
devices = [ ];
|
devices = [ ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
locate = {
|
||||||
|
enable = true;
|
||||||
services.locate = {
|
package = pkgs.plocate;
|
||||||
enable = true;
|
};
|
||||||
package = pkgs.plocate;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
@@ -131,7 +132,7 @@ in
|
|||||||
interfaces = {
|
interfaces = {
|
||||||
eno1 = {
|
eno1 = {
|
||||||
wakeOnLan.enable = true;
|
wakeOnLan.enable = true;
|
||||||
macAddress = wolInterfaces.eno1.macAddress;
|
inherit (wolInterfaces.eno1) macAddress;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
firewall = {
|
firewall = {
|
||||||
|
|||||||
@@ -14,19 +14,21 @@
|
|||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [
|
boot = {
|
||||||
"vmd"
|
initrd.availableKernelModules = [
|
||||||
"xhci_pci"
|
"vmd"
|
||||||
"ahci"
|
"xhci_pci"
|
||||||
"nvme"
|
"ahci"
|
||||||
"usbhid"
|
"nvme"
|
||||||
"usb_storage"
|
"usbhid"
|
||||||
"uas"
|
"usb_storage"
|
||||||
"sd_mod"
|
"uas"
|
||||||
];
|
"sd_mod"
|
||||||
boot.initrd.kernelModules = [ ];
|
];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
initrd.kernelModules = [ ];
|
||||||
boot.extraModulePackages = [ ];
|
kernelModules = [ "kvm-intel" ];
|
||||||
|
extraModulePackages = [ ];
|
||||||
|
};
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ in
|
|||||||
../../modules/desktops/niri
|
../../modules/desktops/niri
|
||||||
../../modules/bluetooth
|
../../modules/bluetooth
|
||||||
../../modules/keyboard
|
../../modules/keyboard
|
||||||
(import ../../modules/networking { hostName = hostName; })
|
(import ../../modules/networking { inherit hostName; })
|
||||||
../../modules/users
|
../../modules/users
|
||||||
../../modules/audio
|
../../modules/audio
|
||||||
../../modules/localization
|
../../modules/localization
|
||||||
|
|||||||
@@ -14,16 +14,18 @@
|
|||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [
|
boot = {
|
||||||
"xhci_pci"
|
initrd.availableKernelModules = [
|
||||||
"thunderbolt"
|
"xhci_pci"
|
||||||
"nvme"
|
"thunderbolt"
|
||||||
"uas"
|
"nvme"
|
||||||
"sd_mod"
|
"uas"
|
||||||
];
|
"sd_mod"
|
||||||
boot.initrd.kernelModules = [ ];
|
];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
initrd.kernelModules = [ ];
|
||||||
boot.extraModulePackages = [ ];
|
kernelModules = [ "kvm-intel" ];
|
||||||
|
extraModulePackages = [ ];
|
||||||
|
};
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
|||||||
@@ -14,17 +14,21 @@
|
|||||||
(modulesPath + "/profiles/qemu-guest.nix")
|
(modulesPath + "/profiles/qemu-guest.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [
|
boot = {
|
||||||
"ahci"
|
initrd = {
|
||||||
"xhci_pci"
|
availableKernelModules = [
|
||||||
"virtio_pci"
|
"ahci"
|
||||||
"virtio_scsi"
|
"xhci_pci"
|
||||||
"sd_mod"
|
"virtio_pci"
|
||||||
"sr_mod"
|
"virtio_scsi"
|
||||||
];
|
"sd_mod"
|
||||||
boot.initrd.kernelModules = [ ];
|
"sr_mod"
|
||||||
boot.kernelModules = [ ];
|
];
|
||||||
boot.extraModulePackages = [ ];
|
kernelModules = [ ];
|
||||||
|
};
|
||||||
|
kernelModules = [ ];
|
||||||
|
extraModulePackages = [ ];
|
||||||
|
};
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ in
|
|||||||
./disk.nix
|
./disk.nix
|
||||||
../../modules/boot/bootloader.nix
|
../../modules/boot/bootloader.nix
|
||||||
../../modules/keyboard
|
../../modules/keyboard
|
||||||
(import ../../modules/networking { hostName = hostName; })
|
(import ../../modules/networking { inherit hostName; })
|
||||||
../../modules/users
|
../../modules/users
|
||||||
../../modules/audio
|
../../modules/audio
|
||||||
../../modules/localization
|
../../modules/localization
|
||||||
@@ -42,9 +42,11 @@ in
|
|||||||
environment.systemPackages = [ inputs.nvim.packages.x86_64-linux.nvim ];
|
environment.systemPackages = [ inputs.nvim.packages.x86_64-linux.nvim ];
|
||||||
|
|
||||||
disko = {
|
disko = {
|
||||||
devices.disk.main.device = "/dev/vda";
|
devices.disk.main = {
|
||||||
devices.disk.main.imageName = "nixos-vm";
|
device = "/dev/vda";
|
||||||
devices.disk.main.imageSize = "32G";
|
imageName = "nixos-vm";
|
||||||
|
imageSize = "32G";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
virtualisation.vmVariantWithDisko = {
|
virtualisation.vmVariantWithDisko = {
|
||||||
@@ -59,11 +61,12 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services.qemuGuest.enable = true;
|
services = {
|
||||||
services.spice-vdagentd.enable = true;
|
qemuGuest.enable = true;
|
||||||
|
spice-vdagentd.enable = true;
|
||||||
services.openssh = {
|
openssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
harden = true;
|
harden = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,16 +14,20 @@
|
|||||||
(modulesPath + "/profiles/qemu-guest.nix")
|
(modulesPath + "/profiles/qemu-guest.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [
|
boot = {
|
||||||
"ahci"
|
initrd = {
|
||||||
"xhci_pci"
|
availableKernelModules = [
|
||||||
"virtio_pci"
|
"ahci"
|
||||||
"sr_mod"
|
"xhci_pci"
|
||||||
"virtio_blk"
|
"virtio_pci"
|
||||||
];
|
"sr_mod"
|
||||||
boot.initrd.kernelModules = [ ];
|
"virtio_blk"
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
];
|
||||||
boot.extraModulePackages = [ ];
|
kernelModules = [ ];
|
||||||
|
};
|
||||||
|
kernelModules = [ "kvm-intel" ];
|
||||||
|
extraModulePackages = [ ];
|
||||||
|
};
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
|||||||
@@ -1,13 +1,15 @@
|
|||||||
{ ... }:
|
_:
|
||||||
|
|
||||||
{
|
{
|
||||||
services.pulseaudio.enable = false;
|
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
services.pipewire = {
|
services = {
|
||||||
enable = true;
|
pulseaudio.enable = false;
|
||||||
alsa.enable = true;
|
pipewire = {
|
||||||
alsa.support32Bit = true;
|
enable = true;
|
||||||
pulse.enable = true;
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
};
|
||||||
|
pulseaudio.extraConfig = "load-module module-switch-on-connect";
|
||||||
};
|
};
|
||||||
services.pulseaudio.extraConfig = "load-module module-switch-on-connect";
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ ... }:
|
_:
|
||||||
|
|
||||||
{
|
{
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
|||||||
@@ -1,4 +1,9 @@
|
|||||||
{ inputs, outputs, dotsPath, ... }:
|
{
|
||||||
|
inputs,
|
||||||
|
outputs,
|
||||||
|
dotsPath,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
@@ -23,15 +28,16 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
nix.optimise = {
|
nix = {
|
||||||
automatic = true;
|
optimise = {
|
||||||
dates = [ "05:00" ];
|
automatic = true;
|
||||||
};
|
dates = [ "05:00" ];
|
||||||
|
};
|
||||||
nix.gc = {
|
gc = {
|
||||||
automatic = true;
|
automatic = true;
|
||||||
dates = "weekly";
|
dates = "weekly";
|
||||||
options = "--delete-older-than 30d";
|
options = "--delete-older-than 30d";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
system.autoUpgrade = {
|
system.autoUpgrade = {
|
||||||
|
|||||||
@@ -1,14 +1,16 @@
|
|||||||
{
|
{
|
||||||
programs.niri.enable = true;
|
programs.niri.enable = true;
|
||||||
|
|
||||||
services.dbus.enable = true;
|
services = {
|
||||||
services.logind.settings.Login = {
|
dbus.enable = true;
|
||||||
HandleLidSwitch = "suspend";
|
logind.settings.Login = {
|
||||||
IdleAction = "suspend";
|
HandleLidSwitch = "suspend";
|
||||||
IdleActionSec = 1800;
|
IdleAction = "suspend";
|
||||||
};
|
IdleActionSec = 1800;
|
||||||
|
};
|
||||||
|
|
||||||
services.displayManager.ly = {
|
displayManager.ly = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
disk = {
|
disk = {
|
||||||
root = {
|
root = {
|
||||||
type = "disk";
|
type = "disk";
|
||||||
device = config.device;
|
inherit (config) device;
|
||||||
content = {
|
content = {
|
||||||
type = "gpt";
|
type = "gpt";
|
||||||
partitions = {
|
partitions = {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ ... }:
|
_:
|
||||||
|
|
||||||
{
|
{
|
||||||
time.timeZone = "Europe/Brussels";
|
time.timeZone = "Europe/Brussels";
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
networking = {
|
networking = {
|
||||||
hostName = hostName;
|
inherit hostName;
|
||||||
wireless.iwd.enable = true;
|
wireless.iwd.enable = true;
|
||||||
networkmanager.wifi.backend = "iwd";
|
networkmanager.wifi.backend = "iwd";
|
||||||
nftables.enable = true;
|
nftables.enable = true;
|
||||||
|
|||||||
@@ -34,56 +34,58 @@ in
|
|||||||
"opencode_api_key".owner = config.users.users.${cfg.username}.name;
|
"opencode_api_key".owner = config.users.users.${cfg.username}.name;
|
||||||
};
|
};
|
||||||
|
|
||||||
templates."taskrc.d/sync" = {
|
templates = {
|
||||||
owner = config.users.users.${cfg.username}.name;
|
"taskrc.d/sync" = {
|
||||||
content = ''
|
owner = config.users.users.${cfg.username}.name;
|
||||||
sync.server.url=${config.sops.placeholder."taskwarrior_sync_server_url"}
|
content = ''
|
||||||
sync.server.client_id=${config.sops.placeholder."taskwarrior_sync_server_client_id"}
|
sync.server.url=${config.sops.placeholder."taskwarrior_sync_server_url"}
|
||||||
sync.encryption_secret=${config.sops.placeholder."taskwarrior_sync_encryption_secret"}
|
sync.server.client_id=${config.sops.placeholder."taskwarrior_sync_server_client_id"}
|
||||||
'';
|
sync.encryption_secret=${config.sops.placeholder."taskwarrior_sync_encryption_secret"}
|
||||||
};
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
templates.".gitconfig.email" = {
|
".gitconfig.email" = {
|
||||||
owner = config.users.users.${cfg.username}.name;
|
owner = config.users.users.${cfg.username}.name;
|
||||||
path = "/home/${cfg.username}/.gitconfig.email";
|
path = "/home/${cfg.username}/.gitconfig.email";
|
||||||
content = ''
|
content = ''
|
||||||
[user]
|
[user]
|
||||||
email = ${config.sops.placeholder."email_personal"}
|
email = ${config.sops.placeholder."email_personal"}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
templates.".gitconfig.work.email" = {
|
".gitconfig.work.email" = {
|
||||||
owner = config.users.users.${cfg.username}.name;
|
owner = config.users.users.${cfg.username}.name;
|
||||||
path = "/home/${cfg.username}/.gitconfig.work.email";
|
path = "/home/${cfg.username}/.gitconfig.work.email";
|
||||||
content = ''
|
content = ''
|
||||||
[user]
|
[user]
|
||||||
email = ${config.sops.placeholder."email_work"}
|
email = ${config.sops.placeholder."email_work"}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
templates."hcloud/cli.toml" = {
|
"hcloud/cli.toml" = {
|
||||||
owner = config.users.users.${cfg.username}.name;
|
owner = config.users.users.${cfg.username}.name;
|
||||||
path = "/home/${cfg.username}/.config/hcloud/cli.toml";
|
path = "/home/${cfg.username}/.config/hcloud/cli.toml";
|
||||||
content = ''
|
content = ''
|
||||||
active_context = "server"
|
active_context = "server"
|
||||||
|
|
||||||
[[contexts]]
|
[[contexts]]
|
||||||
name = "server"
|
name = "server"
|
||||||
token = "${config.sops.placeholder."hcloud"}"
|
token = "${config.sops.placeholder."hcloud"}"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
templates."opencode/auth.json" = {
|
"opencode/auth.json" = {
|
||||||
owner = config.users.users.${cfg.username}.name;
|
owner = config.users.users.${cfg.username}.name;
|
||||||
path = "/home/${cfg.username}/.local/share/opencode/auth.json";
|
path = "/home/${cfg.username}/.local/share/opencode/auth.json";
|
||||||
content = ''
|
content = ''
|
||||||
{
|
{
|
||||||
"zai-coding-plan": {
|
"zai-coding-plan": {
|
||||||
"type": "api",
|
"type": "api",
|
||||||
"key": "${config.sops.placeholder."opencode_api_key"}"
|
"key": "${config.sops.placeholder."opencode_api_key"}"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
'';
|
||||||
'';
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{ lib, config, ... }:
|
{ lib, config, ... }:
|
||||||
let
|
let
|
||||||
username = config.ssh.username;
|
inherit (config.ssh) username;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
# auto extract SSH keys
|
# auto extract SSH keys
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ ... }:
|
_:
|
||||||
|
|
||||||
{
|
{
|
||||||
services.xserver.windowManager.xmonad = {
|
services.xserver.windowManager.xmonad = {
|
||||||
|
|||||||
Reference in New Issue
Block a user