feat: switched desktop

feat: sway is running
This commit is contained in:
Patrick Großmann 2023-09-01 20:07:03 +02:00
parent b0a8e65480
commit a4a076b901
Signed by: patrick
GPG key ID: 451F95EFB8BECD0F
21 changed files with 133 additions and 84 deletions

View file

@ -83,6 +83,11 @@
- Alternatively boot an official nixos image connect with password - Alternatively boot an official nixos image connect with password
3. Copy ISO to usb using dd 3. Copy ISO to usb using dd
3. After booting copy the installer to the live system using `nix copy --to <target> .#packages.<target-system>.installer-package.<target>` 3. After booting copy the installer to the live system using `nix copy --to <target> .#packages.<target-system>.installer-package.<target>`
4. Run the installer script from the nix store of the live system
- you can get the path using `nix path-info .#packages.<target-system>.installer-package.<target>`
4. Export all zpools and reboot into system
6. Retrieve hostkeys using `ssh-keyscan <host> | grep -o 'ssh-ed25519.*' > host/<target>/secrets/host.pub
5. Deploy system using colmena
## Deploy ## Deploy

View file

@ -1,4 +1,4 @@
{ {lib, ...}: {
networking = { networking = {
useNetworkd = true; useNetworkd = true;
dhcpcd.enable = false; dhcpcd.enable = false;

View file

@ -22,7 +22,7 @@
boot = { boot = {
initrd.systemd.enable = true; initrd.systemd.enable = true;
initrd.systemd.emergencyAccess = true; initrd.systemd.emergencyAccess = true;
initrd.availableKernelModules = ["xhci_pci" "nvme" "usb_storage" "usbhid" "sd_mod" "rtsx_pci_sdmmc"]; initrd.availableKernelModules = ["xhci_pci" "nvme" "usb_storage" "usbhid" "sd_mod" "rtsx_pci_sdmmc" "ahci" "uas"];
supportedFilesystems = ["ntfs"]; supportedFilesystems = ["ntfs"];
kernelModules = ["kvm-intel"]; kernelModules = ["kvm-intel"];
tmp.useTmpfs = true; tmp.useTmpfs = true;

View file

@ -1,5 +1,8 @@
{pkgs, ...}: { {pkgs, ...}: {
programs.hyprland.enable = true; programs.hyprland = {
enableNvidiaPatches = true;
enable = true;
};
services.dbus.enable = true; services.dbus.enable = true;
xdg.portal = { xdg.portal = {
enable = true; enable = true;

View file

@ -4,14 +4,13 @@
hardware = { hardware = {
opengl = { opengl = {
enable = true; enable = true;
driSupport = true;
driSupport32Bit = true; driSupport32Bit = true;
}; };
nvidia = { nvidia = {
powerManagement = { powerManagement.enable = true;
enable = true;
finegrained = true;
};
modesetting.enable = true; modesetting.enable = true;
open = false;
}; };
}; };
} }

View file

@ -13,6 +13,7 @@
../common/hardware/bluetooth.nix ../common/hardware/bluetooth.nix
../common/hardware/intel.nix ../common/hardware/intel.nix
../common/hardware/nvidia.nix
../common/hardware/physical.nix ../common/hardware/physical.nix
../common/hardware/pipewire.nix ../common/hardware/pipewire.nix
../common/hardware/yubikey.nix ../common/hardware/yubikey.nix

View file

@ -47,4 +47,6 @@
panzer = defaultZpoolOptions // {datasets = {};}; panzer = defaultZpoolOptions // {datasets = {};};
}; };
}; };
boot.initrd.luks.devices.enc-rpool.allowDiscards = true;
boot.initrd.luks.devices.enc-infantry-fighting-vehicle.allowDiscards = true;
} }

View file

@ -7,6 +7,10 @@
DHCP = "yes"; DHCP = "yes";
matchConfig.MACAddress = config.secrets.secrets.local.networking.lan1.mac; matchConfig.MACAddress = config.secrets.secrets.local.networking.lan1.mac;
dns = ["192.168.178.2"]; dns = ["192.168.178.2"];
networkConfig = {
IPv6PrivacyExtensions = "yes";
MulticastDNS = true;
};
}; };
}; };
} }

View file

View file

@ -23,4 +23,5 @@
rpool = defaultZpoolOptions // {datasets = defaultZfsDatasets;}; rpool = defaultZpoolOptions // {datasets = defaultZfsDatasets;};
}; };
}; };
boot.initrd.luks.devices.enc-rpool.allowDiscards = true;
} }

View file

@ -14,7 +14,7 @@
partitions = [ partitions = [
(partEfiBoot "boot" "0%" "1GiB") (partEfiBoot "boot" "0%" "1GiB")
(partSwap "swap" "1GiB" "17GiB") (partSwap "swap" "1GiB" "17GiB")
(partLuksZfs "rpool" "rpool" "17GiB" "100%") (lib.attrsets.recursiveUpdate (partLuksZfs "rpool" "rpool" "17GiB" "100%") {content.extraFormatArgs = ["--pbkdf pbkdf2"];})
]; ];
}; };
}; };
@ -25,7 +25,7 @@
type = "table"; type = "table";
format = "gpt"; format = "gpt";
partitions = [ partitions = [
(partLuksZfs "panzer-1" "panzer" "0%" "100%") (lib.attrsets.recursiveUpdate (partLuksZfs "panzer-1" "panzer" "0%" "100%") {content.extraFormatArgs = ["--pbkdf pbkdf2"];})
]; ];
}; };
}; };
@ -36,7 +36,7 @@
type = "table"; type = "table";
format = "gpt"; format = "gpt";
partitions = [ partitions = [
(partLuksZfs "panzer-2" "panzer" "0%" "100%") (lib.attrsets.recursiveUpdate (partLuksZfs "panzer-2" "panzer" "0%" "100%") {content.extraFormatArgs = ["--pbkdf pbkdf2"];})
]; ];
}; };
}; };
@ -54,4 +54,6 @@
}; };
}; };
}; };
boot.initrd.luks.devices.enc-rpool.allowDiscards = true;
} }

View file

@ -7,6 +7,10 @@
DHCP = "yes"; DHCP = "yes";
matchConfig.MACAddress = config.secrets.secrets.local.networking.lan1.mac; matchConfig.MACAddress = config.secrets.secrets.local.networking.lan1.mac;
dns = ["192.168.178.2"]; dns = ["192.168.178.2"];
networkConfig = {
IPv6PrivacyExtensions = "yes";
MulticastDNS = true;
};
}; };
}; };
} }

View file

@ -0,0 +1 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB9g6E+f7XMSE4V2YDdw5kZjWpV9o1G4JPKb6f3SHjO4

View file

@ -28,7 +28,7 @@ inputs: self: super: {
content = { content = {
type = "luks"; type = "luks";
name = "enc-${name}"; name = "enc-${name}";
extraOpenArgs = ["--allow-discard"]; extraOpenArgs = ["--allow-discards"];
content = { content = {
type = "zfs"; type = "zfs";
inherit pool; inherit pool;

View file

@ -1,9 +1,9 @@
{pkgs, ...}: { {pkgs, ...}: {
imports = [ imports = [
./graphical/kitty.nix ./kitty.nix
./graphical/hyprland ./sway
./graphical/rofi.nix ./rofi.nix
./graphical/firefox.nix ./firefox.nix
]; ];
home = { home = {
packages = with pkgs; [ packages = with pkgs; [

View file

@ -1,88 +1,94 @@
MOD: TAGS: pkgs: MOD: TAGS: pkgs:
'' ''
general { general {
gaps_in = 1 gaps_in = 1
gaps_out = 0 gaps_out = 0
no_cursor_warps = true no_cursor_warps = true
}
input {
sensitivity = 0
kb_layout = de,de
kb_variant = bone,
repeat_rate = 60
repeat_delay = 235
# Only change focus on mouse click
follow_mouse = 2
float_switch_override_focus = 0
accel_profile = flat
touchpad {
natural_scroll = true
} }
}
input { gestures {
sensitivity = 0 workspace_swipe = true
kb_layout = de,de workspace_swipe_numbered = true
kb_variant = bone, }
repeat_rate = 60
repeat_delay = 235
# Only change focus on mouse click
follow_mouse = 2
float_switch_override_focus = 0
accel_profile = flat
touchpad {
natural_scroll = true
}
}
gestures { misc {
workspace_swipe = true disable_hyprland_logo = true
workspace_swipe_numbered = true mouse_move_focuses_monitor = false
} }
misc { binds {
disable_hyprland_logo = true focus_preferred_method = 1
mouse_move_focuses_monitor = false }
}
binds { # keybinds
focus_preferred_method = 1 bind=${MOD},q,killactive,
} bind=${MOD},return,fullscreen,
bind=${MOD},f,togglefloating
bind=${MOD},tab,cyclenext,
bind=ALT,tab,cyclenext,
bind=,Menu,exec,rofi -show drun
# keybinds bind=${MOD},left,movefocus,l
bind=${MOD},q,killactive, bind=${MOD},right,movefocus,r
bind=${MOD},return,fullscreen, bind=${MOD},up,movefocus,u
bind=${MOD},f,togglefloating bind=${MOD},down,movefocus,d
bind=${MOD},tab,cyclenext,
bind=ALT,tab,cyclenext,
bind=,Menu,exec,rofi -show drun
bind=${MOD},left,movefocus,l bind=${MOD},n,movefocus,l
bind=${MOD},right,movefocus,r bind=${MOD},s,movefocus,r
bind=${MOD},up,movefocus,u bind=${MOD},l,movefocus,u
bind=${MOD},down,movefocus,d bind=${MOD},r,movefocus,d
bind=${MOD},n,movefocus,l bind=${MOD} + SHIFT,left,movewindow,l
bind=${MOD},s,movefocus,r bind=${MOD} + SHIFT,right,movewindow,r
bind=${MOD},l,movefocus,u bind=${MOD} + SHIFT,up,movewindow,u
bind=${MOD},r,movefocus,d bind=${MOD} + SHIFT,down,movewindow,d
bind=${MOD} + SHIFT,left,movewindow,l bindm=${MOD},mouse:272,movewindow
bind=${MOD} + SHIFT,right,movewindow,r
bind=${MOD} + SHIFT,up,movewindow,u
bind=${MOD} + SHIFT,down,movewindow,d
bindm=${MOD},mouse:272,movewindow bind=${MOD} + SHIFT,n,movewindow,l
bind=${MOD} + SHIFT,s,movewindow,r
bind=${MOD} + SHIFT,l,movewindow,u
bind=${MOD} + SHIFT,r,movewindow,d
bind=${MOD} + SHIFT,n,movewindow,l bind=${MOD},comma,workspace,-1
bind=${MOD} + SHIFT,s,movewindow,r bind=${MOD},period,workspace,+1
bind=${MOD} + SHIFT,l,movewindow,u
bind=${MOD} + SHIFT,r,movewindow,d
bind=${MOD},comma,workspace,-1
bind=${MOD},period,workspace,+1
bind=${MOD},b,exec,firefox bind=${MOD},b,exec,firefox
bind=${MOD},t,exec,kitty bind=${MOD},t,exec,kitty
bind=${MOD} + SHIFT,l,exec,systemctl suspend -i bind=${MOD} + SHIFT,l,exec,systemctl suspend -i
bind=${MOD} + SHIFT,Escape,exit bind=${MOD} + SHIFT,Escape,exit
#fix xwayland hidpi #fix xwayland hidpi
exec-once = ${pkgs.xorg.xprop}/bin/xprop -root -f _XWAYLAND_GLOBAL_OUTPUT_SCALE 32c -set _XWAYLAND_GLOBAL_OUTPUT_SCALE 2 exec-once = ${pkgs.xorg.xprop}/bin/xprop -root -f _XWAYLAND_GLOBAL_OUTPUT_SCALE 32c -set _XWAYLAND_GLOBAL_OUTPUT_SCALE 2
env = GDK_SCALE,2 env = GDK_SCALE,2
env = XCURSOR_SIZE,48 env = XCURSOR_SIZE,48
workspace = eDP-1, 42 workspace = eDP-1, 42
exec-once=bash -c "waybar >/tmp/waybar_error.log"
env = LIBVA_DRIVER_NAME,nvidia
env = XDG_SESSION_TYPE,wayland
env = GBM_BACKEND,nvidia-drm
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
env = WLR_NO_HARDWARE_CURSORS,1
exec-once=bash -c "waybar >/tmp/waybar_error.log"
'' ''
+ builtins.concatStringsSep "\n" (map ( + builtins.concatStringsSep "\n" (map (
x: '' x: ''

View file

@ -0,0 +1,9 @@
{config, ...}: {
wayland.windowManager.sway = {
enable = true;
config = {
modifier = "Mod4";
terminal = "kitty";
};
};
}

View file

@ -24,6 +24,5 @@ _: {
rg = "rg -S"; rg = "rg -S";
zf = "zathura --fork"; zf = "zathura --fork";
hypr = "Hyprland";
}; };
} }

View file

@ -5,7 +5,7 @@
}: { }: {
# enable nixos wide hyprland config # enable nixos wide hyprland config
imports = [ imports = [
../../hosts/common/graphical/hyprland.nix #../../hosts/common/graphical/hyprland.nix
]; ];
users.users.patrick = { users.users.patrick = {
@ -31,7 +31,7 @@
./impermanence.nix ./impermanence.nix
../common ../common
../common/interactive.nix ../common/interactive.nix
../common/graphical.nix ../common/graphical
]; ];
}; };
} }

View file

@ -16,12 +16,25 @@
user = "root"; user = "root";
inherit identityFile; inherit identityFile;
}; };
"patricknix" = { "patricknix" = {
hostname = "patricknix.local"; hostname = "patricknix.local";
user = "root"; user = "root";
inherit identityFile; inherit identityFile;
}; };
"testienix" = {
hostname = "192.168.178.74";
user = "root";
inherit identityFile;
};
"desktopnix" = {
hostname = "192.168.178.176";
user = "root";
inherit identityFile;
};
"WSALVM" = { "WSALVM" = {
hostname = "172.10.8.156"; hostname = "172.10.8.156";
user = "root"; user = "root";