diff --git a/.gitignore b/.gitignore index e5d0a7d..cea4a39 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ result deploy-luci.sh +deploy-luci-now.sh diff --git a/changes.patch b/changes.patch deleted file mode 100644 index 943da50..0000000 --- a/changes.patch +++ /dev/null @@ -1,293 +0,0 @@ -diff --git a/flake.nix b/flake.nix -index 95415a8..dfc359c 100644 ---- a/flake.nix -+++ b/flake.nix -@@ -140,6 +140,11 @@ - username = "theaninova"; - system = "x86_64-linux"; - }; -+ shark = mkHost { -+ hostname = "shark"; -+ username = "luci"; -+ system = "x86_64-linux"; -+ }; - }; - - nixosModules.theaninovos = import ./modules/nixos; -diff --git a/hosts/shark/default.nix b/hosts/shark/default.nix -new file mode 100644 -index 0000000..efec798 ---- /dev/null -+++ b/hosts/shark/default.nix -@@ -0,0 +1,164 @@ -+{ -+ pkgs, -+ lib, -+ username, -+ ... -+}: -+{ -+ imports = [ ./hardware-configuration.nix ]; -+ -+ nix = { -+ settings.experimental-features = [ -+ "nix-command" -+ "flakes" -+ ]; -+ gc = { -+ automatic = true; -+ randomizedDelaySec = "14m"; -+ options = "--deleteOlderThan 10d"; -+ }; -+ }; -+ -+ boot = { -+ quiet.enable = true; -+ -+ kernelPackages = pkgs.linuxPackages_latest; -+ -+ loader = { -+ systemd-boot = { -+ enable = true; -+ configurationLimit = 10; -+ }; -+ efi.canTouchEfiVariables = true; -+ }; -+ initrd = { -+ availableKernelModules = [ "tpm_tis" ]; -+ systemd = { -+ enable = true; -+ tpm2.enable = true; -+ }; -+ }; -+ }; -+ -+ xdg.forced-compliance.enable = true; -+ -+ usecases = { -+ gaming.enable = true; -+ "3d-printing".enable = true; -+ development.enable = true; -+ windows-vm.enable = true; -+ }; -+ -+ shell.components = { -+ firefox-pip.enable = true; -+ gnome-keyring.enable = true; -+ grimblast.enable = true; -+ hyprpicker.enable = true; -+ kde-connect.enable = true; -+ kitty.enable = true; -+ swaync.enable = true; -+ walker.enable = true; -+ waybar = { -+ enable = true; -+ mobile = true; -+ }; -+ }; -+ desktops = { -+ hyprland.enable = true; -+ }; -+ locale.preset.theaninova.enable = true; -+ -+ services.xserver = { -+ xkb = { -+ #variant = "altgr-intl"; -+ #layout = "us"; -+ layout = "de"; -+ }; -+ videoDrivers = [ "nvidia" ]; -+ }; -+ -+ hardware = { -+ q3279vwf.enable = true; -+ audio.preset.pipewire.enable = true; -+ -+ nvidia.preset.proprietary.enable = true; -+ -+ enableAllFirmware = true; -+ bluetooth = { -+ enable = true; -+ powerOnBoot = true; -+ }; -+ }; -+ -+ fonts = { -+ fira-code = { -+ enable = true; -+ default = true; -+ }; -+ noto-sans = { -+ enable = true; -+ default = true; -+ }; -+ nerd-fonts.enable = true; -+ }; -+ -+ programs.zsh.enable = true; -+ security.sudo.configFile = '' -+ Defaults env_reset,pwfeedback,passprompt="󰟵 " -+ ''; -+ security.tpm2.enable = true; -+ users.defaultUserShell = pkgs.zsh; -+ users.users.${username} = { -+ isNormalUser = true; -+ extraGroups = [ -+ "scanner" -+ "lp" -+ "storage" -+ "networkmanager" -+ "audio" -+ "video" -+ "plugdev" -+ "cdrom" -+ "kvm" -+ ]; -+ }; -+ -+ # List packages installed in system profile. To search, run: -+ environment.systemPackages = with pkgs; [ -+ # Essential utils -+ usbutils -+ usbimager -+ uhubctl -+ bluetuith -+ pciutils -+ htop -+ unar -+ gnupg -+ libdrm -+ alsa-utils -+ graphicsmagick -+ ffmpeg -+ nfs-utils -+ opensc -+ openssl -+ # secure boot / tmp2 -+ sbctl -+ tpm2-tss -+ # Essential command line apps -+ neovim -+ mc -+ git -+ p7zip -+ fzf -+ eza -+ ]; -+ -+ networking = { -+ networkmanager = { -+ enable = true; -+ plugins = with pkgs; [ networkmanager-openconnect ]; -+ }; -+ }; -+ -+ system.stateVersion = "24.11"; -+} -diff --git a/hosts/shark/hardware-configuration.nix b/hosts/shark/hardware-configuration.nix -new file mode 100644 -index 0000000..b848d1c ---- /dev/null -+++ b/hosts/shark/hardware-configuration.nix -@@ -0,0 +1,44 @@ -+# 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, ... }: -+ -+{ -+ imports = -+ [ (modulesPath + "/installer/scan/not-detected.nix") -+ ]; -+ -+ boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ]; -+ boot.initrd.kernelModules = [ ]; -+ boot.kernelModules = [ "kvm-intel" ]; -+ boot.extraModulePackages = [ ]; -+ -+ fileSystems."/" = -+ { device = "/dev/disk/by-uuid/9e1f4bb4-356b-4674-ba16-0d3f436cd882"; -+ fsType = "xfs"; -+ }; -+ -+ fileSystems."/boot" = -+ { device = "/dev/disk/by-uuid/6585-4C3B"; -+ fsType = "vfat"; -+ options = [ "fmask=0077" "dmask=0077" ]; -+ }; -+ -+ fileSystems."/home" = -+ { device = "/dev/disk/by-uuid/fa017457-fef3-4fac-9348-d37d2cd98656"; -+ fsType = "xfs"; -+ }; -+ -+ swapDevices = [ ]; -+ -+ # 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 -+ # still possible to use this option, but it's recommended to use it in conjunction -+ # with explicit per-interface declarations with `networking.interfaces..useDHCP`. -+ networking.useDHCP = lib.mkDefault true; -+ # networking.interfaces.eno1.useDHCP = lib.mkDefault true; -+ # networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true; -+ -+ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; -+ hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -+} -diff --git a/hosts/shark/home.nix b/hosts/shark/home.nix -new file mode 100755 -index 0000000..b557825 ---- /dev/null -+++ b/hosts/shark/home.nix -@@ -0,0 +1,31 @@ -+{ pkgs, ... }: -+{ -+ theme.md3-evo = { -+ enable = true; -+ auto-dark = { -+ enable = true; -+ lat = 52.52; -+ lon = 13.40; -+ }; -+ }; -+ programs.zoxide.enable = true; -+ home = { -+ packages = with pkgs; [ -+ blueman -+ kdePackages.okular -+ ]; -+ }; -+ systemd.user.services = { -+ blueman-applet = { -+ Unit = { -+ Description = "Bluetooth manager applet"; -+ After = [ "graphical-session.target" ]; -+ }; -+ Install.WantedBy = [ "graphical-session.target" ]; -+ Service = { -+ ExecStart = "${pkgs.blueman}/bin/blueman-applet"; -+ Restart = "always"; -+ }; -+ }; -+ }; -+} -diff --git a/modules/nixos/hardware/q3279vwf.nix b/modules/nixos/hardware/q3279vwf.nix -index 2e835e7..4ebeaac 100644 ---- a/modules/nixos/hardware/q3279vwf.nix -+++ b/modules/nixos/hardware/q3279vwf.nix -@@ -21,11 +21,11 @@ in - home-manager.users.${username}.wayland.windowManager.hyprland.settings = { - general.layout = "master"; - master = { -- orientation = "center"; -- always_center_master = true; -- mfact = 0.4; -+ orientation = "right"; -+ mfact = 0.65; -+ always_keep_position = true; - }; -- monitor = [ "DP-1,highrr,0x0,1" ]; -+ monitor = [ "DP-1,2560x1440@75,0x0,1" ]; - xwayland.force_zero_scaling = true; - misc.vrr = 2; # VA suffers from VRR flicker - }; diff --git a/hosts/MONSTER/default.nix b/hosts/MONSTER/default.nix index 8e4e8e9..48cb0b7 100644 --- a/hosts/MONSTER/default.nix +++ b/hosts/MONSTER/default.nix @@ -66,13 +66,6 @@ rocmOverrideGfx = "10.3.0"; }; - printing = { - enable = true; - drivers = with pkgs; [ - rastertokpsl-re - ]; - }; - xserver.xkb.variant = "altgr-intl"; xserver.xkb.layout = "us"; @@ -94,7 +87,6 @@ # hid-fanatecff.enable = true; enableAllFirmware = true; - sane.enable = true; bluetooth = { enable = true; powerOnBoot = true; diff --git a/hosts/aero/default.nix b/hosts/aero/default.nix index efbf96f..ddc8713 100644 --- a/hosts/aero/default.nix +++ b/hosts/aero/default.nix @@ -113,6 +113,8 @@ nerd-fonts.enable = true; }; + services.airprint.enable = true; + programs.zsh.enable = true; security.sudo.configFile = '' Defaults env_reset,pwfeedback,passprompt="󰟵 " diff --git a/hosts/shark/default.nix b/hosts/shark/default.nix index 5f55444..1647cc4 100644 --- a/hosts/shark/default.nix +++ b/hosts/shark/default.nix @@ -22,6 +22,8 @@ boot = { quiet.enable = true; + kernelParams = [ "module_blacklist=i915" ]; + kernelPackages = pkgs.linuxPackages_latest; loader = { @@ -77,6 +79,8 @@ videoDrivers = [ "nvidia" ]; }; + services.airprint.enable = true; + hardware = { q3279vwf.enable = true; audio.preset.pipewire.enable = true; diff --git a/modules/home-manager/packages/default.nix b/modules/home-manager/packages/default.nix index 8d9e1b8..a4c1c79 100644 --- a/modules/home-manager/packages/default.nix +++ b/modules/home-manager/packages/default.nix @@ -17,7 +17,6 @@ # browsers firefox chromium - brave # media jellyfin-media-player diff --git a/modules/nixos/desktops/hyprland.nix b/modules/nixos/desktops/hyprland.nix index 0700bfd..4f80fb2 100644 --- a/modules/nixos/desktops/hyprland.nix +++ b/modules/nixos/desktops/hyprland.nix @@ -27,6 +27,10 @@ in systemd.enable = false; package = null; portalPackage = null; + settings.ecosystem = { + no_update_news = true; + no_donation_nag = true; + }; }; home = { packages = with pkgs; [ grim ]; diff --git a/modules/nixos/hardware/nvidia-proprietary.nix b/modules/nixos/hardware/nvidia-proprietary.nix index 79f1f5a..8bab077 100644 --- a/modules/nixos/hardware/nvidia-proprietary.nix +++ b/modules/nixos/hardware/nvidia-proprietary.nix @@ -54,6 +54,8 @@ in home-manager.users.${username}.wayland.windowManager.hyprland.settings = { cursor.no_hardware_cursors = true; + opengl.nvidia_anti_flicker = true; + # render.direct_scanout = 1; }; environment = { diff --git a/modules/nixos/hardware/q3279vwf.nix b/modules/nixos/hardware/q3279vwf.nix index 4ebeaac..7842b95 100644 --- a/modules/nixos/hardware/q3279vwf.nix +++ b/modules/nixos/hardware/q3279vwf.nix @@ -27,7 +27,7 @@ in }; monitor = [ "DP-1,2560x1440@75,0x0,1" ]; xwayland.force_zero_scaling = true; - misc.vrr = 2; # VA suffers from VRR flicker + misc.vrr = 0; # VA suffers from VRR flicker }; }; } diff --git a/modules/nixos/services/airprint.nix b/modules/nixos/services/airprint.nix index 9e5c9ad..f19c07e 100644 --- a/modules/nixos/services/airprint.nix +++ b/modules/nixos/services/airprint.nix @@ -20,7 +20,10 @@ in enable = true; extraBackends = [ pkgs.sane-airscan ]; }; - services.printing.enable = true; + services.printing = { + enable = true; + stateless = true; + }; services.avahi = { enable = true; nssmdns4 = true; diff --git a/modules/nixos/usecases/windows-vm.nix b/modules/nixos/usecases/windows-vm.nix index 2832286..6d75cac 100644 --- a/modules/nixos/usecases/windows-vm.nix +++ b/modules/nixos/usecases/windows-vm.nix @@ -50,6 +50,12 @@ in }; spiceUSBRedirection.enable = true; }; - services.spice-vdagentd.enable = true; + + networking.firewall.trustedInterfaces = [ "virbr0" ]; + + services = { + spice-vdagentd.enable = true; + spice-webdavd.enable = true; + }; }; } diff --git a/overlays/rastertokpsl-re/default.nix b/overlays/rastertokpsl-re/default.nix deleted file mode 100644 index 9f5dc5c..0000000 --- a/overlays/rastertokpsl-re/default.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ - stdenv, - fetchFromGitHub, - cmake, - cups, - patchPpdFilesHook, - lib, -}: -stdenv.mkDerivation { - name = "rastertokpsl-re"; - src = fetchFromGitHub { - owner = "eLtMosen"; - repo = "rastertokpsl-re"; - rev = "84dcb2bc0d9a6797eedcd56f2e603dde2fbbf290"; - hash = "sha256-qPBZ0qKnY14rTaNa6vjyVB8c0aaXDSewia4n1a6xoyg="; - }; - buildInputs = [ - cmake - cups - ]; - cmakeFlags = [ "-DCMAKE_C_FLAGS=-D_GNU_SOURCE" ]; - nativeBuildInputs = [ patchPpdFilesHook ]; - installPhase = '' - runHook preInstall - - install -Dm755 /build/source/bin/rastertokpsl-re $out/lib/cups/filter/rastertokpsl - mkdir -p $out/share/cups/model/Kyocera - install -D /build/source/*.ppd $out/share/cups/model/Kyocera - - runHook postInstall - ''; - ppdFileCommands = [ "rastertokpsl" ]; - meta = with lib; { - description = "Reverse engineered Kyocera rastertokpsl filter for CUPS"; - homepage = "https://github.com/eLtMosen/rastertokpsl-re"; - license = licenses.asl20; - maintainers = [ maintainers.theaninova ]; - }; -}