diff --git a/README.md b/README.md new file mode 100644 index 0000000..50bb60e --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +https://hoverbear.org/blog/declarative-gnome-configuration-in-nixos/ diff --git a/desktop/gnome/default.nix b/desktop/gnome/default.nix index a8aaa83..cd9acdf 100644 --- a/desktop/gnome/default.nix +++ b/desktop/gnome/default.nix @@ -3,7 +3,11 @@ { boot.plymouth = { enable = true; - theme = "breeze"; + theme = "circle_hud"; + themePackages = [ + pkgs.breeze-plymouth + pkgs.adi1090x-plymouth-themes + ]; }; services = { @@ -11,7 +15,10 @@ enable = true; excludePackages = [ pkgs.xterm ]; - displayManager.gdm.enable = true; + displayManager = { + gdm.enable = true; + }; + desktopManager.gnome = { enable = true; }; @@ -48,13 +55,14 @@ systemPackages = [ #pkgs.gnome.dconf-editor pkgs.plymouth - pkgs.breeze-plymouth pkgs.gnome.networkmanager-openconnect pkgs.numix-icon-theme pkgs.papirus-icon-theme pkgs.arc-icon-theme + pkgs.arc-theme pkgs.wl-clipboard pkgs.gnome.gnome-tweaks + pkgs.orchis ] ++ [ #pkgs.alacritty # pkgs.gnome-console #pkgs.firefox # pkgs.gnome.epiphany diff --git a/flake.lock b/flake.lock index 81af6d1..3246dcc 100644 --- a/flake.lock +++ b/flake.lock @@ -85,7 +85,23 @@ "home-manager": "home-manager", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs_2", - "nur": "nur" + "nur": "nur", + "themes": "themes" + } + }, + "themes": { + "locked": { + "lastModified": 1702496684, + "narHash": "sha256-fClxDgKdH62T3nbuq3HXMrgtzsEJbFyj3UCaQdgRuF8=", + "owner": "RGBCube", + "repo": "ThemeNix", + "rev": "9f6d2cda4ba1e1840d8f126086df9a801508de6a", + "type": "github" + }, + "original": { + "owner": "RGBCube", + "repo": "ThemeNix", + "type": "github" } } }, diff --git a/flake.nix b/flake.nix index 2060657..17cf725 100644 --- a/flake.nix +++ b/flake.nix @@ -12,10 +12,13 @@ home-manager = { url = "github:nix-community/home-manager"; }; + themes = { + url = "github:RGBCube/ThemeNix"; + }; nur.url = "github:nix-community/NUR"; }; - outputs = { self, nixpkgs, nixos-hardware, home-manager, nur}: { + outputs = { self, nixpkgs, nixos-hardware, home-manager, nur, themes }: { nixosConfigurations = { alice-xps = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; diff --git a/user/default.nix b/user/default.nix index 86ff394..0f56220 100644 --- a/user/default.nix +++ b/user/default.nix @@ -8,7 +8,7 @@ isNormalUser = true; description = "Alice"; extraGroups = [ "networkmanager" "wheel" ]; - shell = pkgs.bash; + shell = pkgs.zsh; }; users.users."alice".openssh.authorizedKeys.keys = [ diff --git a/user/home.nix b/user/home.nix index 950535a..bb1f7c0 100644 --- a/user/home.nix +++ b/user/home.nix @@ -9,6 +9,7 @@ ./programs/terminal ./programs/kitty ./programs/firefox + ./programs/devbox #./programs/vscode ]; @@ -17,8 +18,15 @@ }; home.stateVersion = "23.11"; - home.packages = [ - pkgs.signal-desktop + home.packages = with pkgs; [ + signal-desktop + gnomeExtensions.user-themes + gnomeExtensions.tray-icons-reloaded + gnomeExtensions.vitals + gnomeExtensions.dash-to-panel + gnomeExtensions.sound-output-device-chooser + gnomeExtensions.space-bar + ]; @@ -26,4 +34,52 @@ programs.home-manager.enable = true; + dconf.settings = { + "org/gnome/shell" = { + disable-user-extensions = false; + enabled-extensions = [ + "user-theme@gnome-shell-extensions.gcampax.github.com" + "trayIconsReloaded@selfmade.pl" + # "Vitals@CoreCoding.com" + "dash-to-panel@jderose9.github.com" + "sound-output-device-chooser@kgshank.net" + "space-bar@luchrioh" + + ]; + }; + }; + + + gtk = { + enable = true; + + iconTheme = { + name = "Papirus-Dark"; + package = pkgs.papirus-icon-theme; + }; + + theme = { + name = "Orchis-Dark"; + package = pkgs.orchis; + }; + + cursorTheme = { + name = "Numix-Cursor"; + package = pkgs.numix-cursor-theme; + }; + + gtk3.extraConfig = { + Settings = '' + gtk-application-prefer-dark-theme=1 + ''; + }; + + gtk4.extraConfig = { + Settings = '' + gtk-application-prefer-dark-theme=1 + ''; + }; + + }; + } diff --git a/user/programs/bat/default.nix b/user/programs/bat/default.nix index 0c4aedc..4ddab9c 100644 --- a/user/programs/bat/default.nix +++ b/user/programs/bat/default.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ config, pkgs, themes, ... }: { diff --git a/user/programs/devbox/default.nix b/user/programs/devbox/default.nix new file mode 100644 index 0000000..a5c1779 --- /dev/null +++ b/user/programs/devbox/default.nix @@ -0,0 +1,7 @@ +{ config, pkgs, ... }: + +{ + home.packages = [ + pkgs.devbox + ]; +} diff --git a/user/programs/terminal/files/shell/rc.d/01-zoxide.zsh b/user/programs/terminal/files/shell/rc.d/01-zoxide.zsh new file mode 100644 index 0000000..2acda37 --- /dev/null +++ b/user/programs/terminal/files/shell/rc.d/01-zoxide.zsh @@ -0,0 +1 @@ +eval "$(zoxide init zsh)" diff --git a/user/programs/terminal/files/zshrc b/user/programs/terminal/files/zshrc index 9d65db9..236a584 100644 --- a/user/programs/terminal/files/zshrc +++ b/user/programs/terminal/files/zshrc @@ -5,7 +5,7 @@ if [ -d $HOME/.shellrc/rc.d ]; then source $file done - for file in $HOME/.shellrc/zshrc.d/*.zsh; do + for file in $HOME/.shellrc/rc.d/*.zsh; do source $file done fi