diff --git a/base.nix b/base.nix index fc1a35c..34a77cf 100644 --- a/base.nix +++ b/base.nix @@ -42,6 +42,8 @@ environment.etc."current-system-flake".source = inputs.self; # the plan was to allow me to locate the new flake.lock, but alas https://github.com/NixOS/nix/issues/6895 /**/ + environment.shells = with pkgs; [ bash zsh ]; + nix.settings.trusted-users = [ "root" ]; # default, but will stick around after a mergins with ./users nix.settings.auto-optimise-store = true; # deduplicate with hardlinks, expensive. Alternative: nix-store --optimise diff --git a/flake.nix b/flake.nix index 9b5d341..4bc89f0 100644 --- a/flake.nix +++ b/flake.nix @@ -92,6 +92,10 @@ pkgs = nixpkgs.legacyPackages.${system}; modules = [ ./users/pbsds/home ]; }; + pbsds-gnome = home-manager.lib.homeManagerConfiguration { + pkgs = nixpkgs.legacyPackages.${system}; + modules = [ ./users/pbsds/home/gnome.nix ]; + }; }); devShells = forAllSystems (system: { # TODO: apply my overlays? diff --git a/users/jornane/default.nix b/users/jornane/default.nix index fe8da52..239ee2d 100644 --- a/users/jornane/default.nix +++ b/users/jornane/default.nix @@ -5,6 +5,7 @@ uid = 1002; description = "jornane"; extraGroups = [ "networkmanager" "wheel" ]; # TODO: NAS stuff + shell = pkgs.zhs; openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDhGRFktIRrppVVILraEn5eTrANBIBMcpNT4qvNcd7Ut" diff --git a/users/pbsds/default.nix b/users/pbsds/default.nix index 095148a..229aa9b 100644 --- a/users/pbsds/default.nix +++ b/users/pbsds/default.nix @@ -16,8 +16,11 @@ # user and home-manager #nix.trusted-users = [ "pbsds" ]; - home-manager.users.pbsds = import ./home; - users.groups.pbsds.gid = 1001; + + home-manager.users.pbsds = if config.services.xserver.desktopManager.gnome.enable + then import ./home/gnome.nix + else import ./home; + users.groups.pbsds.gid = 1001; # TODO: remove this, add a uid map to NFS instead users.users.pbsds = { isNormalUser = true; uid = 1001; # TODO: uid mapping be done at nfs-mount level? That way we can enforce diff --git a/users/pbsds/home/gnome.nix b/users/pbsds/home/gnome.nix new file mode 100644 index 0000000..2f242b1 --- /dev/null +++ b/users/pbsds/home/gnome.nix @@ -0,0 +1,77 @@ +# https://nix-community.github.io/home-manager/options.html +{ pkgs, config, ... }: +{ + imports = [ + ./default.nix + #./profiles/gnome.nix + ]; + # TODO: dbus + + dconf.settings = { + "org/gnome/shell" = { + disable-user-extensions = false; + enabled-extensions = [ + "just-perfection-desktop@just-perfection" + ]; + }; + "org/gnome/desktop/interface" = { + color-scheme = "prefer-dark"; + enable-hot-corners = false; + clock-show-weekday = true; + }; + "org/gnome/desktop/privacy" = { + report-technical-problems = "false"; + }; + "org/gnome/desktop/wm/preferences" = { + button-layout = ":minimize,close"; + }; + "org/gnome/settings-daemon/plugins/power" = { + sleep-interactive-ac-type = "nothing"; + }; + "org/gnome/settings-daemon/plugins/media-keys" = { + custom-keybindings = [ + "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/" + ]; + }; + "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = { + binding = "e"; + command = "nautilus"; + name = "open-file-browser"; + }; + "org/gnome/shell/extensions/just-perfection" = { + theme = true; + activities-button = false; + }; + /** / + "org/gnome/shell/extensions/blur-my-shell" = { + brightness = 0.9; + }; + "org/gnome/shell/extensions/blur-my-shell/panel" = { + customize = true; + sigma = 0; + }; + "org/gnome/shell/extensions/blur-my-shell/overview" = { # Temporary = D2D Bug + customize = true; + sigma = 0; + }; + /**/ + + }; + + home.packages = with pkgs; [ + gnome.gnome-tweaks + lxterminal + + gnomeExtensions.just-perfection + /** / + gnomeExtensions.blur-my-shell + gnomeExtensions.tray-icons-reloaded + gnomeExtensions.removable-drive-menu + gnomeExtensions.battery-indicator-upower + gnomeExtensions.workspace-indicator-2 + gnomeExtensions.bluetooth-quick-connect + gnomeExtensions.forge + /**/ + ]; + +}