diff --git a/systems/NObangers.nix b/systems/NObangers.nix index de6187a..5032eb0 100644 --- a/systems/NObangers.nix +++ b/systems/NObangers.nix @@ -1,55 +1,64 @@ { - config, - pkgs, - lib, - ... + config, + pkgs, + lib, + ... }: { - environment.systemPackages = with pkgs; [ - raspberrypi-eeprom - ]; - programs.partition-manager.enable = false; + environment.systemPackages = with pkgs; [ + raspberrypi-eeprom + ]; + programs.partition-manager.enable = false; - services.printing.enable = false; - i18n.inputMethod = {}; + services.printing.enable = false; + i18n.inputMethod = {}; - services.xserver.enable = false; - services.desktopManager.plasma6.enable = false; + services.xserver.enable = false; + services.desktopManager.plasma6.enable = false; - hardware.raspberry-pi."4" = { - bluetooth.enable = true; - audio.enable = true; + services.pipewire.enable = false; + services.pulseaudio.enable = true; + config.hardware.raspberry-pi."4" = { + bluetooth.enable = true; + fkms-3d.enable = true; + }; + + users.users.tao = { + isNormalUser = true; + hashedPasswordFile = config.age.secrets.password-tao.path; + extraGroups = ["audio" "video" "wheel" "libvirtd" "dialout" "game"]; + shell = pkgs.nushell; + }; + + boot.loader.systemd-boot.enable = false; + boot.loader.efi.canTouchEfiVariables = false; + + fileSystems = { + "/" = { + device = "/dev/disk/by-label/NIXOS_SD"; + fsType = "ext4"; + options = ["noatime"]; }; + }; - boot.loader.systemd-boot.enable = false; - boot.loader.efi.canTouchEfiVariables = false; + nix.buildMachines = [ + { + hostName = "nolaptop"; + systems = ["x86_64-linux" "i686-linux"]; + supportedFeatures = [ + "benchmark" + "big-parallel" + "gccarch-znver4" + "kvm" + "nixos-test" + ]; + } + ]; + nix.extraOptions = '' + builders-use-substitutes = true + ''; + nix.distributedBuilds = true; - fileSystems = { - "/" = { - device = "/dev/disk/by-label/NIXOS_SD"; - fsType = "ext4"; - options = ["noatime"]; - }; - }; - - nix.buildMachines = [ - { - hostName = "nolaptop"; - systems = ["x86_64-linux" "i686-linux"]; - supportedFeatures = [ - "benchmark" - "big-parallel" - "gccarch-znver4" - "kvm" - "nixos-test" - ]; - } - ]; - nix.extraOptions = '' - builders-use-substitutes = true - ''; - nix.distributedBuilds = true; - - networking.hostName = "NObangers"; - nixpkgs.hostPlatform = "aarch64-linux"; - system.stateVersion = "23.11"; + networking.hostName = "NObangers"; + nixpkgs.hostPlatform = "aarch64-linux"; + system.stateVersion = "23.11"; } diff --git a/users/tao.nix b/users/tao.nix index b687606..4992b54 100644 --- a/users/tao.nix +++ b/users/tao.nix @@ -1,162 +1,162 @@ { - inputs, - config, - pkgs, - lib, - ... + inputs, + config, + pkgs, + lib, + ... }: { - users.users.tao.packages = with pkgs; [ - # boxxy - calibre - # carapace - # cloud-hypervisor - # davinci-resolve - # fractal - # freerdp - # inputs.plasma-manager.packages.${pkgs.system}.default - # jellyfin-mpv-shim - # libsForQt5.kcharselect - # mendeley - # piper - # slack - # tectonic - # texlab - # thunderbird - # wkhtmltopdf - appimage-run - aspell - aspellDicts.en - bottles - darktable - deluge - discord - freecad-wayland - gocryptfs - gurk-rs - jellyfin-media-player - # kdePackages.plasma-vault - keepassxc - # leetcode-cli - man-pages - man-pages-posix - miniserve - mousai - nix-output-monitor - nixos-anywhere - nufmt - nushell - nvd - obs-studio - oculante - onlyoffice-bin - pandoc - pipe-rename - prusa-slicer - qmk - qmk-udev-rules - qmk_hid - ripgrep-all - signal-desktop - slack - snapper - starship - syncthingtray - taskwarrior3 - tinymist - toastify - typst - usbutils - vial - wezterm - wl-clipboard-rs - yt-dlp - zathura - zellij - zoom-us - zoxide - ]; - programs.adb.enable = true; - programs.kdeconnect.enable = true; - environment.shells = with pkgs; [nushell]; + users.users.tao.packages = with pkgs; [ + # boxxy + calibre + # carapace + # cloud-hypervisor + # davinci-resolve + # fractal + # freerdp + # inputs.plasma-manager.packages.${pkgs.system}.default + # jellyfin-mpv-shim + # libsForQt5.kcharselect + # mendeley + # piper + # slack + # tectonic + # texlab + # thunderbird + # wkhtmltopdf + appimage-run + aspell + aspellDicts.en + bottles + darktable + deluge + discord + freecad-wayland + gocryptfs + gurk-rs + jellyfin-media-player + # kdePackages.plasma-vault + keepassxc + # leetcode-cli + man-pages + man-pages-posix + miniserve + mousai + nix-output-monitor + nixos-anywhere + nufmt + nushell + nvd + obs-studio + oculante + onlyoffice-bin + pandoc + pipe-rename + prusa-slicer + qmk + qmk-udev-rules + qmk_hid + ripgrep-all + signal-desktop + slack + snapper + starship + syncthingtray + taskwarrior3 + tinymist + toastify + typst + usbutils + vial + wezterm + wl-clipboard-rs + yt-dlp + zathura + zellij + zoom-us + zoxide + ]; + programs.adb.enable = true; + programs.kdeconnect.enable = true; + environment.shells = with pkgs; [nushell]; - # virtualisation.libvirtd.enable = true; - # virtualisation.libvirtd.qemu.swtpm.enable = true; - # virtualisation.spiceUSBRedirection.enable = true; - # programs.virt-manager.enable = true; + # virtualisation.libvirtd.enable = true; + # virtualisation.libvirtd.qemu.swtpm.enable = true; + # virtualisation.spiceUSBRedirection.enable = true; + # programs.virt-manager.enable = true; - # virtualisation.virtualbox.host = { - # enable = true; - # enableExtensionPack = true; - # }; + # virtualisation.virtualbox.host = { + # enable = true; + # enableExtensionPack = true; + # }; - # nixpkgs.overlays = [ - # (final: prev: { - # options.services.snapper.configs = prev.options.services.snapper.configs.overrideAttrs (old: { - # configOptions.FSTYPE = lib.mkOption { - # type = lib.types.enum ["btrfs" "bcachefs"]; - # }; - # }); - # }) - # ]; + # nixpkgs.overlays = [ + # (final: prev: { + # options.services.snapper.configs = prev.options.services.snapper.configs.overrideAttrs (old: { + # configOptions.FSTYPE = lib.mkOption { + # type = lib.types.enum ["btrfs" "bcachefs"]; + # }; + # }); + # }) + # ]; - disabledModules = ["services/misc/snapper.nix"]; - imports = [../extras/snapper.nix]; - services.snapper.configs = { - home = { - SUBVOLUME = "/home"; - # FSTYPE = "bcachefs"; - FSTYPE = - if lib.strings.hasPrefix "NOlaptop" (builtins.readFile /etc/hostname) - then "bcachefs" - else "btrfs"; - ALLOW_USERS = ["tao"]; - TIMELINE_CREATE = true; - TIMELINE_CLEANUP = true; - TIMELINE_LIMIT_HOURLY = 5; - TIMELINE_LIMIT_DAILY = 7; - }; + disabledModules = ["services/misc/snapper.nix"]; + imports = [../extras/snapper.nix]; + services.snapper.configs = { + home = { + SUBVOLUME = "/home"; + # FSTYPE = "bcachefs"; + FSTYPE = + if lib.strings.hasPrefix "NOlaptop" (builtins.readFile /etc/hostname) + then "bcachefs" + else "btrfs"; + ALLOW_USERS = ["tao"]; + TIMELINE_CREATE = true; + TIMELINE_CLEANUP = true; + TIMELINE_LIMIT_HOURLY = 5; + TIMELINE_LIMIT_DAILY = 7; }; - services.snapper.snapshotInterval = "*:0/5"; + }; + services.snapper.snapshotInterval = "*:0/5"; - hardware.keyboard.qmk.enable = true; - services.udev.extraRules = '' - KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl" - ''; - # services.ratbagd.enable = true; + hardware.keyboard.qmk.enable = true; + services.udev.extraRules = '' + KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl" + ''; + # services.ratbagd.enable = true; - boot.extraModulePackages = with config.boot.kernelPackages; [ - v4l2loopback - ]; - boot.extraModprobeConfig = '' - options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1 - ''; + boot.extraModulePackages = with config.boot.kernelPackages; [ + v4l2loopback + ]; + boot.extraModprobeConfig = '' + options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1 + ''; - fonts.packages = with pkgs; [ - # (nerdfonts.override {fonts = ["FiraCode"];}) - nerd-fonts.fira-code - noto-fonts-cjk-sans - noto-fonts-cjk-serif - noto-fonts-color-emoji - ibm-plex - cooper-hewitt - ]; + fonts.packages = with pkgs; [ + # (nerdfonts.override {fonts = ["FiraCode"];}) + nerd-fonts.fira-code + noto-fonts-cjk-sans + noto-fonts-cjk-serif + noto-fonts-color-emoji + ibm-plex + cooper-hewitt + ]; - documentation.enable = true; + documentation.enable = true; - # age.secrets.password-tao.file = ../secrets/syncthing-uwuraid.age; - users.users.tao = { - isNormalUser = true; - # hashedPasswordFile = config.age.secrets.password-tao.path; - extraGroups = ["audio" "video" "wheel" "libvirtd" "dialout" "game"]; - shell = pkgs.nushell; - }; + # age.secrets.password-tao.file = ../secrets/syncthing-uwuraid.age; + users.users.tao = { + isNormalUser = true; + # hashedPasswordFile = config.age.secrets.password-tao.path; + extraGroups = ["audio" "video" "wheel" "libvirtd" "dialout" "game"]; + shell = pkgs.nushell; + }; - age.secrets.syncthing-NOcomputer.file = ../secrets/syncthing-NOcomputer.age; - age.secrets.syncthing-NOlaptop.file = ../secrets/syncthing-NOlaptop.age; - age.secrets.syncthing-uwuraid.file = ../secrets/syncthing-uwuraid.age; - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.verbose = true; - home-manager.backupFileExtension = ".hm-bak"; - home-manager.users.tao = import ./tao/HOME.nix {inherit inputs pkgs lib config;}; + age.secrets.syncthing-NOcomputer.file = ../secrets/syncthing-NOcomputer.age; + age.secrets.syncthing-NOlaptop.file = ../secrets/syncthing-NOlaptop.age; + age.secrets.syncthing-uwuraid.file = ../secrets/syncthing-uwuraid.age; + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.verbose = true; + home-manager.backupFileExtension = ".hm-bak"; + home-manager.users.tao = import ./tao/HOME.nix {inherit inputs pkgs lib config;}; }