diff --git a/nix/configuration/boot.nix b/nix/configuration/boot.nix index 4e4d092..1e77b4c 100644 --- a/nix/configuration/boot.nix +++ b/nix/configuration/boot.nix @@ -1,7 +1,12 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { - imports = []; + imports = [ ]; boot.loader.grub.enable = false; # Use the systemd-boot EFI boot loader. @@ -15,7 +20,6 @@ # efibootmgr -c -d /dev/sda -p 1 -L NixOS-boot -l '\EFI\NixOS-boot\grubx64.efi' - # Text-only: # sudo cp "$(nix-build '' --no-out-link -A 'refind')/share/refind/refind_x64.efi" /boot/EFI/boot/bootx64.efi diff --git a/nix/configuration/configuration.nix b/nix/configuration/configuration.nix index 7edb658..c0dd571 100644 --- a/nix/configuration/configuration.nix +++ b/nix/configuration/configuration.nix @@ -1,27 +1,41 @@ -{ config, lib, pkgs, pkgs-unstable, home-manager, ... }: +{ + config, + lib, + pkgs, + pkgs-unstable, + home-manager, + ... +}: { - imports = - [ - ./roles/reset - ./hosts/odo - "${builtins.fetchTarball {url="https://github.com/nix-community/disko/archive/refs/tags/v1.9.0.tar.gz";sha256="0j76ar4qz320fakdii4659w5lww8wiz6yb7g47npywqvf2lbp388";}}/module.nix" - ./boot.nix - ./zfs.nix - ./network.nix - ./roles/firewall - ./roles/graphics - ./roles/sound - ./roles/sway - ./roles/alacritty - ./roles/firefox - ./roles/emacs - ./roles/git - ./roles/fonts - ./roles/gpg - ]; + imports = [ + ./roles/reset + ./hosts/odo + "${ + builtins.fetchTarball { + url = "https://github.com/nix-community/disko/archive/refs/tags/v1.9.0.tar.gz"; + sha256 = "0j76ar4qz320fakdii4659w5lww8wiz6yb7g47npywqvf2lbp388"; + } + }/module.nix" + ./boot.nix + ./zfs.nix + ./network.nix + ./roles/firewall + ./roles/graphics + ./roles/sound + ./roles/sway + ./roles/alacritty + ./roles/firefox + ./roles/emacs + ./roles/git + ./roles/fonts + ./roles/gpg + ]; - nix.settings.experimental-features = [ "nix-command" "flakes" ]; + nix.settings.experimental-features = [ + "nix-command" + "flakes" + ]; nix.settings.trusted-users = [ "@wheel" ]; boot.kernelPackages = pkgs.linuxPackages_6_11; @@ -46,14 +60,19 @@ ]; }; users.groups.talexander.gid = 11235; - home-manager.users.talexander = { pkgs, ... }: { - home.packages = [ pkgs.atool pkgs.httpie ]; - programs.bash.enable = true; + home-manager.users.talexander = + { pkgs, ... }: + { + home.packages = [ + pkgs.atool + pkgs.httpie + ]; + programs.bash.enable = true; - # The state version is required and should stay at the version you - # originally installed. - home.stateVersion = "24.11"; - }; + # The state version is required and should stay at the version you + # originally installed. + home.stateVersion = "24.11"; + }; # Automatic garbage collection nix.gc = { @@ -67,14 +86,16 @@ security.doas.enable = true; security.doas.wheelNeedsPassword = false; security.sudo.enable = false; - security.doas.extraRules = [{ - # Retain environment (for example NIX_PATH) - keepEnv = true; - persist = true; # Only ask for a password the first time. - }]; + security.doas.extraRules = [ + { + # Retain environment (for example NIX_PATH) + keepEnv = true; + persist = true; # Only ask for a password the first time. + } + ]; # Do not use default packages (nixos includes some defaults like nano) - environment.defaultPackages = lib.mkForce []; + environment.defaultPackages = lib.mkForce [ ]; environment.systemPackages = with pkgs; [ wget @@ -163,7 +184,7 @@ sortedUnique = builtins.sort builtins.lessThan (lib.unique packages); formatted = builtins.concatStringsSep "\n" sortedUnique; in - formatted; + formatted; # nixpkgs.overlays = [ # (final: prev: { @@ -171,8 +192,6 @@ # }) # ]; - - # Copy the NixOS configuration file and link it from the resulting system # (/run/current-system/configuration.nix). This is useful in case you # accidentally delete configuration.nix. diff --git a/nix/configuration/flake.nix b/nix/configuration/flake.nix index addef4e..4771227 100644 --- a/nix/configuration/flake.nix +++ b/nix/configuration/flake.nix @@ -12,72 +12,85 @@ home-manager.inputs.nixpkgs.follows = "nixpkgs"; }; - outputs = { self, nixpkgs, nixpkgs-unstable, nixpkgs-b93b4e9b5, impermanence, home-manager, ... }@inputs: let - base-system = {}; - odoqemu = nixpkgs.lib.nixosSystem rec { - system = "x86_64-linux"; - specialArgs = { - pkgs-b93b4e9b5 = import nixpkgs-b93b4e9b5 { - inherit system; - # config.allowUnfree = true; - }; - pkgs-unstable = import nixpkgs-unstable { - inherit system; - # config.allowUnfree = true; - }; - }; - modules = [ - impermanence.nixosModules.impermanence - home-manager.nixosModules.home-manager - { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - } - ./configuration.nix - ({lib, ...}: { - imports = [ ]; - virtualisation.qemu.options = [ - "-device virtio-vga" - ]; - virtualisation.vmVariant = { - # following configuration is added only when building VM with build-vm - virtualisation = { - memorySize = 2048; # Use 2048MiB memory. - cores = 3; - graphics = false; - }; + outputs = + { + self, + nixpkgs, + nixpkgs-unstable, + nixpkgs-b93b4e9b5, + impermanence, + home-manager, + ... + }@inputs: + let + base-system = { }; + odoqemu = nixpkgs.lib.nixosSystem rec { + system = "x86_64-linux"; + specialArgs = { + pkgs-b93b4e9b5 = import nixpkgs-b93b4e9b5 { + inherit system; + # config.allowUnfree = true; + }; + pkgs-unstable = import nixpkgs-unstable { + inherit system; + # config.allowUnfree = true; }; - networking.dhcpcd.enable = lib.mkForce true; - networking.useDHCP = lib.mkForce true; - boot.loader.efi.canTouchEfiVariables = lib.mkForce true; - # doas nixos-rebuild build-vm --flake .#odoqemu - #./result/bin/run-nixos-vm - }) - ]; - }; - odo = nixpkgs.lib.nixosSystem rec { - system = "x86_64-linux"; - specialArgs = { - pkgs-b93b4e9b5 = import nixpkgs-b93b4e9b5 { - inherit system; - # config.allowUnfree = true; - }; - pkgs-unstable = import nixpkgs-unstable { - inherit system; - # config.allowUnfree = true; }; + modules = [ + impermanence.nixosModules.impermanence + home-manager.nixosModules.home-manager + { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + } + ./configuration.nix + ( + { lib, ... }: + { + imports = [ ]; + virtualisation.qemu.options = [ + "-device virtio-vga" + ]; + virtualisation.vmVariant = { + # following configuration is added only when building VM with build-vm + virtualisation = { + memorySize = 2048; # Use 2048MiB memory. + cores = 3; + graphics = false; + }; + }; + networking.dhcpcd.enable = lib.mkForce true; + networking.useDHCP = lib.mkForce true; + boot.loader.efi.canTouchEfiVariables = lib.mkForce true; + # doas nixos-rebuild build-vm --flake .#odoqemu + #./result/bin/run-nixos-vm + } + ) + ]; }; - modules = [ - impermanence.nixosModules.impermanence - home-manager.nixosModules.home-manager - { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - } - ./configuration.nix - ]; - }; - in + odo = nixpkgs.lib.nixosSystem rec { + system = "x86_64-linux"; + specialArgs = { + pkgs-b93b4e9b5 = import nixpkgs-b93b4e9b5 { + inherit system; + # config.allowUnfree = true; + }; + pkgs-unstable = import nixpkgs-unstable { + inherit system; + # config.allowUnfree = true; + }; + }; + modules = [ + impermanence.nixosModules.impermanence + home-manager.nixosModules.home-manager + { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + } + ./configuration.nix + ]; + }; + in { # doas nix build --extra-experimental-features nix-command --extra-experimental-features flakes .#vms.odo # ./result/bin/run-nixos-vim @@ -104,11 +117,14 @@ home-manager.useUserPackages = true; } ./configuration.nix - ({lib, ...}: { - networking.dhcpcd.enable = lib.mkForce true; - networking.useDHCP = lib.mkForce true; - boot.loader.efi.canTouchEfiVariables = lib.mkForce true; - }) + ( + { lib, ... }: + { + networking.dhcpcd.enable = lib.mkForce true; + networking.useDHCP = lib.mkForce true; + boot.loader.efi.canTouchEfiVariables = lib.mkForce true; + } + ) ]; }; }; diff --git a/nix/configuration/hosts/odo/disk-config.nix b/nix/configuration/hosts/odo/disk-config.nix index 8b56d7e..cb54e2f 100644 --- a/nix/configuration/hosts/odo/disk-config.nix +++ b/nix/configuration/hosts/odo/disk-config.nix @@ -14,7 +14,11 @@ type = "filesystem"; format = "vfat"; mountpoint = "/boot"; - mountOptions = [ "umask=0077" "noatime" "discard" ]; + mountOptions = [ + "umask=0077" + "noatime" + "discard" + ]; }; }; zfs = { diff --git a/nix/configuration/hosts/odo/hardware-configuration.nix b/nix/configuration/hosts/odo/hardware-configuration.nix index f18002a..d6c65e5 100644 --- a/nix/configuration/hosts/odo/hardware-configuration.nix +++ b/nix/configuration/hosts/odo/hardware-configuration.nix @@ -1,14 +1,24 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: +{ + config, + lib, + pkgs, + modulesPath, + ... +}: { - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; - boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" ]; + boot.initrd.availableKernelModules = [ + "nvme" + "xhci_pci" + "thunderbolt" + ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-amd" ]; boot.extraModulePackages = [ ]; diff --git a/nix/configuration/network.nix b/nix/configuration/network.nix index 1217898..3bd4002 100644 --- a/nix/configuration/network.nix +++ b/nix/configuration/network.nix @@ -1,11 +1,19 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { - imports = []; + imports = [ ]; networking.dhcpcd.enable = false; networking.useDHCP = false; - networking.nameservers = [ "194.242.2.2#doh.mullvad.net" "2a07:e340::2#doh.mullvad.net" ]; + networking.nameservers = [ + "194.242.2.2#doh.mullvad.net" + "2a07:e340::2#doh.mullvad.net" + ]; services.resolved = { enable = true; dnssec = "true"; @@ -14,7 +22,6 @@ dnsovertls = "true"; }; - # Without this, systemd-resolved will send DNS requests for .home.arpa to the per-link DNS server (172.16.0.1) which does not support DNS-over-TLS. This leads to the connection anging and timing out. This causes firefox startup to take an extra 10+ seconds. # # Test with: drill @127.0.0.53 odo.home.arpa diff --git a/nix/configuration/roles/alacritty/default.nix b/nix/configuration/roles/alacritty/default.nix index 8d911ad..9fec1ca 100644 --- a/nix/configuration/roles/alacritty/default.nix +++ b/nix/configuration/roles/alacritty/default.nix @@ -1,17 +1,24 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { - imports = []; + imports = [ ]; environment.systemPackages = with pkgs; [ alacritty xdg-utils # for xdg-open ]; - home-manager.users.talexander = { pkgs, ... }: { - home.file.".config/alacritty/alacritty.toml" = { - source = ./files/alacritty.toml; + home-manager.users.talexander = + { pkgs, ... }: + { + home.file.".config/alacritty/alacritty.toml" = { + source = ./files/alacritty.toml; + }; }; - }; } diff --git a/nix/configuration/roles/blank/default.nix b/nix/configuration/roles/blank/default.nix index 108e102..f8ce0e8 100644 --- a/nix/configuration/roles/blank/default.nix +++ b/nix/configuration/roles/blank/default.nix @@ -1,7 +1,11 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { - imports = []; - + imports = [ ]; } diff --git a/nix/configuration/roles/firefox/default.nix b/nix/configuration/roles/firefox/default.nix index 889d5b1..cd6e1e1 100644 --- a/nix/configuration/roles/firefox/default.nix +++ b/nix/configuration/roles/firefox/default.nix @@ -1,11 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { - imports = []; + imports = [ ]; programs.firefox = { enable = true; - package = (pkgs.wrapFirefox (pkgs.firefox-unwrapped.override { pipewireSupport = true;}) {}); + package = (pkgs.wrapFirefox (pkgs.firefox-unwrapped.override { pipewireSupport = true; }) { }); languagePacks = [ "en-US" ]; preferences = { # "identity.sync.tokenserver.uri": "https://ffsync.fizz.buzz/token/1.0/sync/1.5"; @@ -52,7 +57,8 @@ "privacy.fingerprintingProtection" = true; # Allow sending dark mode preference to websites. # Allow sending timezone to websites. - "privacy.fingerprintingProtection.overrides" = "+AllTargets,-CSSPrefersColorScheme,-JSDateTimeUTC,-CanvasExtractionBeforeUserInputIsBlocked"; + "privacy.fingerprintingProtection.overrides" = + "+AllTargets,-CSSPrefersColorScheme,-JSDateTimeUTC,-CanvasExtractionBeforeUserInputIsBlocked"; # Disable weather on new tab page "browser.newtabpage.activity-stream.showWeather" = false; }; @@ -82,7 +88,12 @@ hideMounts = true; users.talexander = { directories = [ - { directory = ".mozilla"; user = "talexander"; group = "talexander"; mode = "0700"; } + { + directory = ".mozilla"; + user = "talexander"; + group = "talexander"; + mode = "0700"; + } ]; }; }; @@ -90,7 +101,12 @@ hideMounts = true; users.talexander = { directories = [ - { directory = ".cache/mozilla"; user = "talexander"; group = "talexander"; mode = "0700"; } + { + directory = ".cache/mozilla"; + user = "talexander"; + group = "talexander"; + mode = "0700"; + } ]; }; }; diff --git a/nix/configuration/roles/firewall/default.nix b/nix/configuration/roles/firewall/default.nix index d5d22ea..74fbaec 100644 --- a/nix/configuration/roles/firewall/default.nix +++ b/nix/configuration/roles/firewall/default.nix @@ -1,7 +1,12 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { - imports = []; + imports = [ ]; # Open ports in the firewall. networking.firewall.allowedTCPPorts = [ diff --git a/nix/configuration/roles/fonts/default.nix b/nix/configuration/roles/fonts/default.nix index 9808e45..6e3e3bb 100644 --- a/nix/configuration/roles/fonts/default.nix +++ b/nix/configuration/roles/fonts/default.nix @@ -1,7 +1,12 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { - imports = []; + imports = [ ]; fonts = { enableDefaultPackages = true; @@ -13,106 +18,106 @@ fontconfig = { localConf = '' - - - - - - - - - - - - - false - - - - - /usr/share/fonts/gsfonts/* - - + + + + + + + + + + + + + false + + + + + /usr/share/fonts/gsfonts/* + + - - - serif - - Source Serif Pro - Source Sans Pro - - + + + serif + + Source Serif Pro + Source Sans Pro + + - - - sans-serif - - Source Sans Pro - Source Serif Pro - - + + + sans-serif + + Source Sans Pro + Source Serif Pro + + - - - monospace - - Cascadia Mono - Cascadia Code - - + + + monospace + + Cascadia Mono + Cascadia Code + + - - - Liberation Mono - Cascadia Mono - + + + Liberation Mono + Cascadia Mono + - - - monospace - Cascadia Mono - + + + monospace + Cascadia Mono + - - - - Cascadia Code - - - liga off - dlig off - - + + + + Cascadia Code + + + liga off + dlig off + + - - - - rgb - - - - - true - - - - - hintslight - - - - - true - - - - - lcddefault - - - - ''; + + + + rgb + + + + + true + + + + + hintslight + + + + + true + + + + + lcddefault + + + + ''; }; }; } diff --git a/nix/configuration/roles/git/default.nix b/nix/configuration/roles/git/default.nix index 2fb6ca0..d3a930d 100644 --- a/nix/configuration/roles/git/default.nix +++ b/nix/configuration/roles/git/default.nix @@ -1,15 +1,22 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { - imports = []; + imports = [ ]; environment.systemPackages = with pkgs; [ git ]; - home-manager.users.talexander = { pkgs, ... }: { - home.file.".gitconfig" = { - source = ./files/gitconfig_home; + home-manager.users.talexander = + { pkgs, ... }: + { + home.file.".gitconfig" = { + source = ./files/gitconfig_home; + }; }; - }; } diff --git a/nix/configuration/roles/gpg/default.nix b/nix/configuration/roles/gpg/default.nix index b005489..ba2819c 100644 --- a/nix/configuration/roles/gpg/default.nix +++ b/nix/configuration/roles/gpg/default.nix @@ -1,7 +1,12 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { - imports = []; + imports = [ ]; # Fetch public keys: # gpg --locate-keys tom@fizz.buzz @@ -17,7 +22,12 @@ hideMounts = true; users.talexander = { directories = [ - { directory = ".gnupg"; user = "talexander"; group = "talexander"; mode = "0700"; } # Local keyring + { + directory = ".gnupg"; + user = "talexander"; + group = "talexander"; + mode = "0700"; + } # Local keyring ]; }; }; diff --git a/nix/configuration/roles/graphics/default.nix b/nix/configuration/roles/graphics/default.nix index 3638c4a..05a9d55 100644 --- a/nix/configuration/roles/graphics/default.nix +++ b/nix/configuration/roles/graphics/default.nix @@ -1,7 +1,12 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { - imports = []; + imports = [ ]; hardware.graphics.enable = true; } diff --git a/nix/configuration/roles/reset/default.nix b/nix/configuration/roles/reset/default.nix index 99a2d69..ad6ec4d 100644 --- a/nix/configuration/roles/reset/default.nix +++ b/nix/configuration/roles/reset/default.nix @@ -1,7 +1,12 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { - imports = []; + imports = [ ]; # Reset some defaults to start from a minimal more-arch-linux-like state. Think of this like a CSS reset sheet. diff --git a/nix/configuration/roles/sound/default.nix b/nix/configuration/roles/sound/default.nix index 656d2fc..f9fa9d8 100644 --- a/nix/configuration/roles/sound/default.nix +++ b/nix/configuration/roles/sound/default.nix @@ -1,7 +1,12 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { - imports = []; + imports = [ ]; environment.systemPackages = with pkgs; [ pavucontrol diff --git a/nix/configuration/roles/sway/default.nix b/nix/configuration/roles/sway/default.nix index 95cdc95..32b070a 100644 --- a/nix/configuration/roles/sway/default.nix +++ b/nix/configuration/roles/sway/default.nix @@ -1,213 +1,218 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let sway-config = pkgs.writeTextFile { name = "config"; text = '' -# Default config for sway -# -# Copy this to ~/.config/sway/config and edit it to your liking. -# -# Read `man 5 sway` for a complete reference. + # Default config for sway + # + # Copy this to ~/.config/sway/config and edit it to your liking. + # + # Read `man 5 sway` for a complete reference. -### Variables -# -# Logo key. Use Mod1 for Alt. -set $mod Mod4 -# set $mod Mod1 -# Home row direction keys, like vim -set $left h -set $down j -set $up k -set $right l -# Your preferred terminal emulator -set $term ${pkgs.alacritty}/bin/alacritty -# Your preferred application launcher -# Note: it's recommended that you pass the final command to sway -# set $menu dmenu_path | dmenu | xargs swaymsg exec -set $menu ${pkgs.wofi}/bin/wofi --show drun --gtk-dark + ### Variables + # + # Logo key. Use Mod1 for Alt. + set $mod Mod4 + # set $mod Mod1 + # Home row direction keys, like vim + set $left h + set $down j + set $up k + set $right l + # Your preferred terminal emulator + set $term ${pkgs.alacritty}/bin/alacritty + # Your preferred application launcher + # Note: it's recommended that you pass the final command to sway + # set $menu dmenu_path | dmenu | xargs swaymsg exec + set $menu ${pkgs.wofi}/bin/wofi --show drun --gtk-dark -# Do not show a title bar on windows -default_border pixel 2 + # Do not show a title bar on windows + default_border pixel 2 -bindsym $mod+grave exec $term + bindsym $mod+grave exec $term -include ${base-hotkeys} -include ${display-configs} -include ${window-management} -include ${movement} -include ${disable-focus-follows-mouse} -include ~/.config/sway/config.d/*.conf -include /etc/sway/config.d/* - ''; + include ${base-hotkeys} + include ${display-configs} + include ${window-management} + include ${movement} + include ${disable-focus-follows-mouse} + include ~/.config/sway/config.d/*.conf + include /etc/sway/config.d/* + ''; }; base-hotkeys = pkgs.writeTextFile { name = "base-hotkeys.conf"; text = '' -### Key bindings -# -# Basics: -# - # kill focused window - bindsym $mod+Shift+q kill + ### Key bindings + # + # Basics: + # + # kill focused window + bindsym $mod+Shift+q kill - # start your launcher - bindsym $mod+Return exec $menu + # start your launcher + bindsym $mod+Return exec $menu - # Drag floating windows by holding down $mod and left mouse button. - # Resize them with right mouse button + $mod. - # Despite the name, also works for non-floating windows. - # Change normal to inverse to use left mouse button for resizing and right - # mouse button for dragging. - floating_modifier $mod normal + # Drag floating windows by holding down $mod and left mouse button. + # Resize them with right mouse button + $mod. + # Despite the name, also works for non-floating windows. + # Change normal to inverse to use left mouse button for resizing and right + # mouse button for dragging. + floating_modifier $mod normal - # reload the configuration file - bindsym $mod+Shift+c reload + # reload the configuration file + bindsym $mod+Shift+c reload - # exit sway (logs you out of your Wayland session) - bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit' -''; + # exit sway (logs you out of your Wayland session) + bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit' + ''; }; display-configs = pkgs.writeTextFile { name = "display-configs.conf"; text = '' -output 'Unknown 0x095F 0x00000000' scale 1.5 -output 'BOE 0x095F Unknown' scale 1.5 -output 'BOE 0x0BCA Unknown' scale 1.5 -''; + output 'Unknown 0x095F 0x00000000' scale 1.5 + output 'BOE 0x095F Unknown' scale 1.5 + output 'BOE 0x0BCA Unknown' scale 1.5 + ''; }; window-management = pkgs.writeTextFile { name = "window-management.conf"; text = '' -# -# Layout stuff: -# - # You can "split" the current object of your focus with - # $mod+b or $mod+v, for horizontal and vertical splits - # respectively. - bindsym $mod+h splith - bindsym $mod+v splitv + # + # Layout stuff: + # + # You can "split" the current object of your focus with + # $mod+b or $mod+v, for horizontal and vertical splits + # respectively. + bindsym $mod+h splith + bindsym $mod+v splitv - # Switch the current container between different layout styles - bindsym $mod+s layout stacking - bindsym $mod+w layout tabbed - bindsym $mod+e layout toggle split + # Switch the current container between different layout styles + bindsym $mod+s layout stacking + bindsym $mod+w layout tabbed + bindsym $mod+e layout toggle split - # Make the current focus fullscreen - bindsym $mod+f fullscreen + # Make the current focus fullscreen + bindsym $mod+f fullscreen - # Toggle the current focus between tiling and floating mode - bindsym $mod+Shift+space floating toggle + # Toggle the current focus between tiling and floating mode + bindsym $mod+Shift+space floating toggle - # Swap focus between the tiling area and the floating area - bindsym $mod+space focus mode_toggle + # Swap focus between the tiling area and the floating area + bindsym $mod+space focus mode_toggle - # move focus to the parent container - bindsym $mod+a focus parent -# -# Scratchpad: -# - # Sway has a "scratchpad", which is a bag of holding for windows. - # You can send windows there and get them back later. + # move focus to the parent container + bindsym $mod+a focus parent + # + # Scratchpad: + # + # Sway has a "scratchpad", which is a bag of holding for windows. + # You can send windows there and get them back later. - # Move the currently focused window to the scratchpad - bindsym $mod+Shift+minus move scratchpad + # Move the currently focused window to the scratchpad + bindsym $mod+Shift+minus move scratchpad - # Show the next scratchpad window or hide the focused scratchpad window. - # If there are multiple scratchpad windows, this command cycles through them. - bindsym $mod+minus scratchpad show -# -# Resizing containers: -# -mode "resize" { - # left will shrink the containers width - # right will grow the containers width - # up will shrink the containers height - # down will grow the containers height - bindsym $left resize shrink width 10px - bindsym $down resize grow height 10px - bindsym $up resize shrink height 10px - bindsym $right resize grow width 10px + # Show the next scratchpad window or hide the focused scratchpad window. + # If there are multiple scratchpad windows, this command cycles through them. + bindsym $mod+minus scratchpad show + # + # Resizing containers: + # + mode "resize" { + # left will shrink the containers width + # right will grow the containers width + # up will shrink the containers height + # down will grow the containers height + bindsym $left resize shrink width 10px + bindsym $down resize grow height 10px + bindsym $up resize shrink height 10px + bindsym $right resize grow width 10px - # ditto, with arrow keys - bindsym Left resize shrink width 10px - bindsym Down resize grow height 10px - bindsym Up resize shrink height 10px - bindsym Right resize grow width 10px + # ditto, with arrow keys + bindsym Left resize shrink width 10px + bindsym Down resize grow height 10px + bindsym Up resize shrink height 10px + bindsym Right resize grow width 10px - # return to default mode - bindsym Return mode "default" - bindsym Escape mode "default" -} -bindsym $mod+r mode "resize" -''; + # return to default mode + bindsym Return mode "default" + bindsym Escape mode "default" + } + bindsym $mod+r mode "resize" + ''; }; movement = pkgs.writeTextFile { name = "movement.conf"; text = '' -# -# Moving around: -# - # Move your focus around - # bindsym $mod+$left focus left - # bindsym $mod+$down focus down - # bindsym $mod+$up focus up - # bindsym $mod+$right focus right - # or use $mod+[up|down|left|right] - bindsym $mod+Left focus left - bindsym $mod+Down focus down - bindsym $mod+Up focus up - bindsym $mod+Right focus right + # + # Moving around: + # + # Move your focus around + # bindsym $mod+$left focus left + # bindsym $mod+$down focus down + # bindsym $mod+$up focus up + # bindsym $mod+$right focus right + # or use $mod+[up|down|left|right] + bindsym $mod+Left focus left + bindsym $mod+Down focus down + bindsym $mod+Up focus up + bindsym $mod+Right focus right - # _move_ the focused window with the same, but add Shift - bindsym $mod+Shift+$left move left - bindsym $mod+Shift+$down move down - bindsym $mod+Shift+$up move up - bindsym $mod+Shift+$right move right - # ditto, with arrow keys - bindsym $mod+Shift+Left move left - bindsym $mod+Shift+Down move down - bindsym $mod+Shift+Up move up - bindsym $mod+Shift+Right move right -# -# Workspaces: -# - # switch to workspace - bindsym $mod+1 workspace 1 - bindsym $mod+2 workspace 2 - bindsym $mod+3 workspace 3 - bindsym $mod+4 workspace 4 - bindsym $mod+5 workspace 5 - bindsym $mod+6 workspace 6 - bindsym $mod+7 workspace 7 - bindsym $mod+8 workspace 8 - bindsym $mod+9 workspace 9 - bindsym $mod+0 workspace 10 - # move focused container to workspace - bindsym $mod+Shift+1 move container to workspace 1 - bindsym $mod+Shift+2 move container to workspace 2 - bindsym $mod+Shift+3 move container to workspace 3 - bindsym $mod+Shift+4 move container to workspace 4 - bindsym $mod+Shift+5 move container to workspace 5 - bindsym $mod+Shift+6 move container to workspace 6 - bindsym $mod+Shift+7 move container to workspace 7 - bindsym $mod+Shift+8 move container to workspace 8 - bindsym $mod+Shift+9 move container to workspace 9 - bindsym $mod+Shift+0 move container to workspace 10 - # Note: workspaces can have any name you want, not just numbers. - # We just use 1-10 as the default. -''; + # _move_ the focused window with the same, but add Shift + bindsym $mod+Shift+$left move left + bindsym $mod+Shift+$down move down + bindsym $mod+Shift+$up move up + bindsym $mod+Shift+$right move right + # ditto, with arrow keys + bindsym $mod+Shift+Left move left + bindsym $mod+Shift+Down move down + bindsym $mod+Shift+Up move up + bindsym $mod+Shift+Right move right + # + # Workspaces: + # + # switch to workspace + bindsym $mod+1 workspace 1 + bindsym $mod+2 workspace 2 + bindsym $mod+3 workspace 3 + bindsym $mod+4 workspace 4 + bindsym $mod+5 workspace 5 + bindsym $mod+6 workspace 6 + bindsym $mod+7 workspace 7 + bindsym $mod+8 workspace 8 + bindsym $mod+9 workspace 9 + bindsym $mod+0 workspace 10 + # move focused container to workspace + bindsym $mod+Shift+1 move container to workspace 1 + bindsym $mod+Shift+2 move container to workspace 2 + bindsym $mod+Shift+3 move container to workspace 3 + bindsym $mod+Shift+4 move container to workspace 4 + bindsym $mod+Shift+5 move container to workspace 5 + bindsym $mod+Shift+6 move container to workspace 6 + bindsym $mod+Shift+7 move container to workspace 7 + bindsym $mod+Shift+8 move container to workspace 8 + bindsym $mod+Shift+9 move container to workspace 9 + bindsym $mod+Shift+0 move container to workspace 10 + # Note: workspaces can have any name you want, not just numbers. + # We just use 1-10 as the default. + ''; }; disable-focus-follows-mouse = pkgs.writeTextFile { name = "disable-focus-follows-mouse.conf"; text = '' -# Disable focus following mouse -focus_follows_mouse no -''; + # Disable focus following mouse + focus_follows_mouse no + ''; }; in { - imports = []; + imports = [ ]; environment.systemPackages = with pkgs; [ alacritty diff --git a/nix/configuration/zfs.nix b/nix/configuration/zfs.nix index a16d06a..fcdba6f 100644 --- a/nix/configuration/zfs.nix +++ b/nix/configuration/zfs.nix @@ -1,7 +1,12 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { - imports = []; + imports = [ ]; boot.zfs.devNodes = "/dev/disk/by-partuuid";