diff --git a/flake.nix b/flake.nix index fc5689d..cba123b 100644 --- a/flake.nix +++ b/flake.nix @@ -4,15 +4,17 @@ nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; home-manager.url = "github:nix-community/home-manager/release-23.11"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; + home-manager-unstable.url = "github:nix-community/home-manager"; + home-manager-unstable.inputs.nixpkgs.follows = "nixpkgs-unstable"; firefox.url = "github:nix-community/flake-firefox-nightly"; firefox.inputs.nixpkgs.follows = "nixpkgs"; anyrun.url = "github:Kirottu/anyrun"; anyrun.inputs.nixpkgs.follows = "nixpkgs-unstable"; telegram-desktop-patched.url = "github:shwewo/telegram-desktop-patched"; - telegram-desktop-patched.inputs.nixpkgs.follows = "nixpkgs"; + telegram-desktop-patched.inputs.nixpkgs.follows = "nixpkgs-unstable"; }; - outputs = inputs @ { nixpkgs, nixpkgs-unstable, home-manager, firefox, anyrun, ... }: { + outputs = inputs @ { nixpkgs, nixpkgs-unstable, home-manager, home-manager-unstable, firefox, anyrun, ... }: { nixosConfigurations.dlaptop = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { @@ -69,7 +71,7 @@ ./hosts/generic.nix ./hosts/huanan/configuration.nix ./hosts/huanan/hardware-configuration.nix - home-manager.nixosModules.home-manager + home-manager-unstable.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; diff --git a/home/theme.nix b/home/theme.nix index 968862f..c2ccc72 100644 --- a/home/theme.nix +++ b/home/theme.nix @@ -42,15 +42,15 @@ in { recursive = true; source = "${nerdfonts}/share/fonts/truetype/NerdFonts"; }; - ".config/gtk-4.0/gtk.css" = { - text = '' - window.messagedialog .response-area > button, - window.dialog.message .dialog-action-area > button, - .background.csd{ - border-radius: 0; - } - ''; - }; + # ".config/gtk-4.0/gtk.css" = { + # text = '' + # window.messagedialog .response-area > button, + # window.dialog.message .dialog-action-area > button, + # .background.csd{ + # border-radius: 0; + # } + # ''; + # }; }; }; diff --git a/hosts/generic.nix b/hosts/generic.nix index d6353f7..3e56ba2 100644 --- a/hosts/generic.nix +++ b/hosts/generic.nix @@ -26,8 +26,14 @@ in { settings = { experimental-features = [ "flakes" "nix-command" ]; auto-optimise-store = true; - substituters = [ "https://shwewo.cachix.org" ]; - trusted-public-keys = [ "shwewo.cachix.org-1:84cIX7ETlqQwAWHBnd51cD4BeUVXCyGbFdtp+vLxKOo=" ]; + substituters = [ + "https://shwewo.cachix.org" + "https://anyrun.cachix.org" + ]; + trusted-public-keys = [ + "shwewo.cachix.org-1:84cIX7ETlqQwAWHBnd51cD4BeUVXCyGbFdtp+vLxKOo=" + "anyrun.cachix.org-1:pqBobmOjI7nKlsUMV25u9QHa9btJK65/C8vnO3p346s=" + ]; }; }; diff --git a/hosts/huanan/configuration.nix b/hosts/huanan/configuration.nix index 4c8f6ae..3b9742e 100644 --- a/hosts/huanan/configuration.nix +++ b/hosts/huanan/configuration.nix @@ -5,6 +5,51 @@ { inputs, unstable, config, pkgs, ... }: { + nixpkgs.overlays = [ + (final: prev: { + gnome = prev.gnome.overrideScope' (gnomeFinal: gnomePrev: { + mutter = gnomePrev.mutter.overrideAttrs (old: { + src = pkgs.fetchgit { + url = "https://gitlab.gnome.org/vanvugt/mutter.git"; + # GNOME 45: triple-buffering-v4-45 + rev = "0b896518b2028d9c4d6ea44806d093fd33793689"; + sha256 = "sha256-mzNy5GPlB2qkI2KEAErJQzO//uo8yO0kPQUwvGDwR4w="; + }; + }); + }); + }) + ]; + + security = { + sudo.wheelNeedsPassword = false; + wrappers = { + firejail = { + source = "${pkgs.firejail.out}/bin/firejail"; + }; + }; + pam.loginLimits = [{ + domain = "@users"; + item = "rtprio"; + type = "-"; + value = 1; + }]; + pam.services.swaylock = { }; + rtkit.enable = true; + }; + + programs.thunar.enable = true; + programs.firejail.enable = true; + programs.hyprland.enable = true; + programs.xfconf.enable = true; + programs.dconf.enable = true; + programs.virt-manager.enable = true; + programs.steam.enable = true; + programs.gamemode.enable = true; + programs.thunar.plugins = with pkgs.xfce; [ + thunar-archive-plugin + thunar-volman + ]; + boot.loader.grub.enable = true; boot.loader.grub.device = "/dev/nvme0n1"; boot.loader.grub.useOSProber = true; @@ -39,6 +84,73 @@ pulse.enable = true; }; + environment.systemPackages = with pkgs; [ + gnomeExtensions.appindicator + gnomeExtensions.activate-window-by-title + gnomeExtensions.unite + gnomeExtensions.tailscale-qs + gnomeExtensions.gsconnect + gnomeExtensions.clipboard-indicator + gnomeExtensions.tiling-assistant + #gnomeExtensions.wintile-windows-10-window-tiling-for-gnome + gnomeExtensions.advanced-alttab-window-switcher + gnome.gnome-tweaks + mojave-gtk-theme + adw-gtk3 + any-nix-shell + openconnect + oath-toolkit + expect + ffmpegthumbnailer + webp-pixbuf-loader + freetype + poppler + f3d + nufraw-thumbnailer + curl + inputs.telegram-desktop-patched-unstable.packages.${pkgs.system}.default + ]; + + environment = { + gnome.excludePackages = [ + #pkgs.gnome-connections + #pkgs.gnome-console + pkgs.gnome-text-editor + pkgs.gnome-tour + #pkgs.gnome.adwaita-icon-theme + pkgs.gnome.epiphany # browser + #pkgs.gnome.evince # pdf + office files + #pkgs.gnome.file-roller #archive explorer + pkgs.gnome.geary + pkgs.gnome.gnome-backgrounds + pkgs.gnome.gnome-calendar + pkgs.gnome.gnome-characters + pkgs.gnome.gnome-clocks + pkgs.gnome.gnome-contacts + pkgs.gnome.gnome-font-viewer + pkgs.gnome.gnome-logs + pkgs.gnome.gnome-maps + pkgs.gnome.gnome-music + #pkgs.gnome.gnome-themes-extra + pkgs.gnome.gnome-weather + #pkgs.gnome.nautilus + pkgs.gnome.simple-scan + pkgs.gnome.sushi + pkgs.gnome.totem + pkgs.gnome.yelp + pkgs.orca + ]; + }; + + virtualisation = { + podman = { + enable = true; + dockerCompat = true; + }; + spiceUSBRedirection.enable = true; + libvirtd.enable = true; + }; + services.openssh.enable = true; networking.firewall.enable = false; system.stateVersion = "23.11"; # Did you read the comment?