1

feat: move gnome config to its own file

This commit is contained in:
Himadri Bhattacharjee
2024-02-12 12:13:48 +05:30
parent 74f9480963
commit 9367465385
3 changed files with 109 additions and 98 deletions

103
gnome.nix Normal file
View File

@@ -0,0 +1,103 @@
{ config, pkgs, ... }: {
home.packages = with pkgs.gnomeExtensions; [
blur-my-shell
quick-settings-tweaker
user-themes
caffeine
rounded-window-corners
paperwm
];
home.file.".config/paperwm/user.css".source = ./sources/paperwm/user.css;
# Refer to https://hoverbear.org/blog/declarative-gnome-configuration-in-nixos/
dconf.settings = {
"org/gnome/calculator" = {
button-mode = "programming";
show-thousands = true;
base = 10;
};
# Enable dark theme using adw-gtk3 to make GTK3 apps look coherent
"org/gnome/desktop/interface" = {
gtk-theme = "adw-gtk3-dark";
color-scheme = "prefer-dark";
};
"org/gnome/desktop/wm/keybindings" = {
close = [ "<Super>q" ];
};
"org/gnome/shell".enabled-extensions = [
"quick-settings-tweaks@qwreey"
"caffeine@patapon.info"
"blur-my-shell@aunetx"
"paperwm@paperwm.github.com"
];
"org/gnome/mutter".dynamic-workspaces = true;
"org/gnome/shell".favorite-apps = [
"org.gnome.Console.desktop"
"librewolf.desktop"
"org.gnome.Nautilus.desktop"
"org.gnome.World.Secrets.desktop"
"signal-desktop.desktop"
];
"org/gnome/desktop/app-folders/folders/Office" = {
name = "Office";
apps = [
"startcenter.desktop"
"base.desktop"
"writer.desktop"
"calc.desktop"
"impress.desktop"
"draw.desktop"
"math.desktop"
];
};
"org/gnome/desktop/app-folders/folders/Programming" = {
name = "Programming";
apps = [
"jupyterlab.desktop"
"jupyter-notebook.desktop"
"Helix.desktop"
"ghidra.desktop"
];
};
"org/gnome/desktop/app-folders/folders/Graphics" = {
name = "Graphics";
apps = [
"org.kde.krita.desktop"
"gimp.desktop"
"com.github.flxzt.rnote.desktop"
];
};
"org/gnome/desktop/app-folders/folders/AltBrowsers" = {
name = "Alt Browsers";
apps = [
"torbrowser.desktop"
"chromium-browser.desktop"
];
};
"org/gnome/desktop/app-folders".folder-children = [
"Utilities"
"Office"
"Programming"
"Graphics"
"AltBrowsers"
];
# notebooks with touchpads
"org/gnome/desktop/peripherals/touchpad".tap-to-click = true;
# disable hot corners
"org/gnome/desktop/interface".enable-hot-corners = false;
};
}

101
home.nix
View File

@@ -1,6 +1,9 @@
{ config, pkgs, ... }:
{
imports = [ ./gnome.nix ];
home = {
file = {
".config/helix/config.toml".source = ./sources/helix/config.toml;
@@ -21,107 +24,9 @@
GOBIN = "${config.home.sessionVariables.GOPATH}/bin";
};
packages = with pkgs.gnomeExtensions; [
blur-my-shell
quick-settings-tweaker
user-themes
caffeine
rounded-window-corners
];
stateVersion = "24.05";
};
# Refer to https://hoverbear.org/blog/declarative-gnome-configuration-in-nixos/
dconf.settings = {
"org/gnome/calculator" = {
button-mode = "programming";
show-thousands = true;
base = 10;
};
# Enable dark theme using adw-gtk3 to make GTK3 apps look coherent
"org/gnome/desktop/interface" = {
gtk-theme = "adw-gtk3-dark";
color-scheme = "prefer-dark";
};
"org/gnome/desktop/wm/keybindings" = {
close = [ "<Super>q" ];
};
"org/gnome/shell".enabled-extensions = [
"quick-settings-tweaks@qwreey"
"caffeine@patapon.info"
"blur-my-shell@aunetx"
];
"org/gnome/mutter".dynamic-workspaces = true;
"org/gnome/shell".favorite-apps = [
"org.gnome.Console.desktop"
"librewolf.desktop"
"org.gnome.Nautilus.desktop"
"org.gnome.World.Secrets.desktop"
"signal-desktop.desktop"
];
"org/gnome/desktop/app-folders/folders/Office" = {
name = "Office";
apps = [
"startcenter.desktop"
"base.desktop"
"writer.desktop"
"calc.desktop"
"impress.desktop"
"draw.desktop"
"math.desktop"
];
};
"org/gnome/desktop/app-folders/folders/Programming" = {
name = "Programming";
apps = [
"jupyterlab.desktop"
"jupyter-notebook.desktop"
"Helix.desktop"
"ghidra.desktop"
];
};
"org/gnome/desktop/app-folders/folders/Graphics" = {
name = "Graphics";
apps = [
"org.kde.krita.desktop"
"gimp.desktop"
"com.github.flxzt.rnote.desktop"
];
};
"org/gnome/desktop/app-folders/folders/AltBrowsers" = {
name = "Alt Browsers";
apps = [
"torbrowser.desktop"
"chromium-browser.desktop"
];
};
"org/gnome/desktop/app-folders".folder-children = [
"Utilities"
"Office"
"Programming"
"Graphics"
"AltBrowsers"
];
# notebooks with touchpads
"org/gnome/desktop/peripherals/touchpad".tap-to-click = true;
# disable hot corners
"org/gnome/desktop/interface".enable-hot-corners = false;
};
xdg.desktopEntries.ocr = {
name = "Screen Grab OCR";
exec = "${pkgs.writeScript "ocr" ''

3
sources/paperwm/user.css Normal file
View File

@@ -0,0 +1,3 @@
.paperwm-selection {
border-radius: 12px !important;
}