moves home-manager to hostname specific configs

This commit is contained in:
2024-11-02 21:05:14 +01:00
parent 1e7baa0365
commit 7134d0c29d
27 changed files with 459 additions and 213 deletions

View File

@ -0,0 +1,66 @@
{ config, pkgs, ... }:
{
# GTK Theme
gtk = {
enable = true;
iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
};
theme = {
name = "Yaru-purple-dark";
package = pkgs.yaru-theme;
};
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
'';
};
};
dconf = {
enable = true;
settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
};
# Pinned apps
# add more by listing them with `gsettings list-recursively | grep favorite-apps`
"org/gnome/shell" = {
favorite-apps = [
"io.github.zen_browser.zen.desktop"
"code.desktop"
"org.telegram.desktop.desktop"
"spotify.desktop"
"vesktop.desktop"
"kitty.desktop"
"org.gnome.Geary.desktop"
];
};
# Set wallpaper
"org/gnome/desktop/background" = {
picture-uri-dark = "file:///${config.home.homeDirectory}/dotfiles/secrets/wp/9.png";
picture-uri = "file:///${config.home.homeDirectory}/dotfiles/secrets/wp/9.png";
picture-options = "zoom";
primary-color = "#000000";
};
};
};
}

View File

@ -0,0 +1,93 @@
{ config, pkgs, ... }:
{
# Default applications
xdg.mimeApps = {
enable = true;
defaultApplications = {
# Zen Browser
"application/xhtml+xml" = [ "io.github.zen_browser.zen.desktop" ];
"text/html" = [ "io.github.zen_browser.zen.desktop" ];
"x-scheme-handler/http" = [ "io.github.zen_browser.zen.desktop" ];
"x-scheme-handler/https" = [ "io.github.zen_browser.zen.desktop" ];
# Geary
"x-scheme-handler/mailto" = [ "org.gnome.Geary.desktop" ];
# Loupe (Image Viewer)
"image/jpeg" = [ "org.gnome.Loupe.desktop" ];
"image/png" = [ "org.gnome.Loupe.desktop" ];
"image/gif" = [ "org.gnome.Loupe.desktop" ];
"image/webp" = [ "org.gnome.Loupe.desktop" ];
"image/tiff" = [ "org.gnome.Loupe.desktop" ];
"image/x-tga" = [ "org.gnome.Loupe.desktop" ];
"image/vnd-ms.dds" = [ "org.gnome.Loupe.desktop" ];
"image/x-dds" = [ "org.gnome.Loupe.desktop" ];
"image/bmp" = [ "org.gnome.Loupe.desktop" ];
"image/vnd.microsoft.icon" = [ "org.gnome.Loupe.desktop" ];
"image/vnd.radiance" = [ "org.gnome.Loupe.desktop" ];
"image/x-exr" = [ "org.gnome.Loupe.desktop" ];
"image/x-portable-bitmap" = [ "org.gnome.Loupe.desktop" ];
"image/x-portable-graymap" = [ "org.gnome.Loupe.desktop" ];
"image/x-portable-pixmap" = [ "org.gnome.Loupe.desktop" ];
"image/x-portable-anymap" = [ "org.gnome.Loupe.desktop" ];
"image/x-qoi" = [ "org.gnome.Loupe.desktop" ];
"image/svg+xml" = [ "org.gnome.Loupe.desktop" ];
"image/svg+xml-compressed" = [ "org.gnome.Loupe.desktop" ];
"image/avif" = [ "org.gnome.Loupe.desktop" ];
"image/heic" = [ "org.gnome.Loupe.desktop" ];
"image/jxl" = [ "org.gnome.Loupe.desktop" ];
# VLC (Video Player)
"video/x-ogm+ogg" = [ "vlc.desktop" ];
"video/3gp" = [ "vlc.desktop" ];
"video/3gpp" = [ "vlc.desktop" ];
"video/3gpp2" = [ "vlc.desktop" ];
"video/dv" = [ "vlc.desktop" ];
"video/divx" = [ "vlc.desktop" ];
"video/fli" = [ "vlc.desktop" ];
"video/flv" = [ "vlc.desktop" ];
"video/mp2t" = [ "vlc.desktop" ];
"video/mp4" = [ "vlc.desktop" ];
"video/mp4v-es" = [ "vlc.desktop" ];
"video/mpeg" = [ "vlc.desktop" ];
"video/mpeg-system" = [ "vlc.desktop" ];
"video/msvideo" = [ "vlc.desktop" ];
"video/ogg" = [ "vlc.desktop" ];
"video/quicktime" = [ "vlc.desktop" ];
"video/vnd.divx" = [ "vlc.desktop" ];
"video/vnd.mpegurl" = [ "vlc.desktop" ];
"video/vnd.rn-realvideo" = [ "vlc.desktop" ];
"video/webm" = [ "vlc.desktop" ];
"video/x-anim" = [ "vlc.desktop" ];
"video/x-avi" = [ "vlc.desktop" ];
"video/x-flc" = [ "vlc.desktop" ];
"video/x-fli" = [ "vlc.desktop" ];
"video/x-flv" = [ "vlc.desktop" ];
"video/x-m4v" = [ "vlc.desktop" ];
"video/x-matroska" = [ "vlc.desktop" ];
"video/x-mpeg" = [ "vlc.desktop" ];
"video/x-mpeg2" = [ "vlc.desktop" ];
"video/x-ms-asf" = [ "vlc.desktop" ];
"video/x-ms-asf-plugin" = [ "vlc.desktop" ];
"video/x-ms-asx" = [ "vlc.desktop" ];
"video/x-msvideo" = [ "vlc.desktop" ];
"video/x-ms-wm" = [ "vlc.desktop" ];
"video/x-ms-wmv" = [ "vlc.desktop" ];
"video/x-ms-wmx" = [ "vlc.desktop" ];
"video/x-ms-wvx" = [ "vlc.desktop" ];
"video/x-nsv" = [ "vlc.desktop" ];
"video/x-theora" = [ "vlc.desktop" ];
"video/x-theora+ogg" = [ "vlc.desktop" ];
"video/x-ogm" = [ "vlc.desktop" ];
"video/avi" = [ "vlc.desktop" ];
"video/x-mpeg-system" = [ "vlc.desktop" ];
# Totem (for those few formats that default to it)
"video/vivo" = [ "org.gnome.Totem.desktop" ];
"video/vnd.vivo" = [ "org.gnome.Totem.desktop" ];
"video/x-flic" = [ "org.gnome.Totem.desktop" ];
"video/x-mjpeg" = [ "org.gnome.Totem.desktop" ];
"video/x-totem-stream" = [ "org.gnome.Totem.desktop" ];
};
};
}

View File

@ -0,0 +1,12 @@
{ config, pkgs, ... }:
let
files = builtins.removeAttrs (builtins.readDir ./.) [ "default.nix" ];
# Import all other .nix files as modules
moduleFiles = builtins.map (fname: ./. + "/${fname}") (builtins.attrNames files);
in
{
# Import all the package modules
imports = moduleFiles;
}

View File

@ -0,0 +1,15 @@
{ pkgs, ... }:
{
fonts.fontconfig.enable = true;
home.packages = [
(pkgs.nerdfonts.override {
fonts = [
"Hack"
"FiraCode"
"Meslo"
"FiraCode"
"DroidSansMono"
];
})
];
}

View File

@ -0,0 +1,254 @@
{ config, pkgs, ... }:
{
home.packages = with pkgs.gnomeExtensions; [
tailscale-qs
gsconnect
blur-my-shell
weather-oclock
space-bar
gtk4-desktop-icons-ng-ding
logo-menu
media-controls
burn-my-windows
coverflow-alt-tab
dash-to-dock
appindicator
user-themes
autohide-battery
battery-health-charging
just-perfection
pano
];
# Copy burn-my-windows profile to user config
home.file.".config/burn-my-windows/profiles/default.conf".text = ''
[burn-my-windows-profile]
fire-enable-effect=false
tv-glitch-enable-effect=true
tv-glitch-animation-time=250
'';
dconf = {
settings = {
# To get an ID of an extension, run `gnome-extensions list`
"org/gnome/shell" = {
disable-user-extensions = false;
enabled-extensions = [
"tilingshell@ferrarodomenico.com"
"gsconnect@andyholmes.github.io"
"blur-my-shell@aunetx"
"tailscale@joaophi.github.com"
"easy_docker_containers@red.software.systems"
"weatheroclock@CleoMenezesJr.github.io"
"space-bar@luchrioh"
"gtk4-ding@smedius.gitlab.com"
"logomenu@aryan_k"
"mediacontrols@cliffniff.github.com"
"burn-my-windows@schneegans.github.com"
"CoverflowAltTab@palatis.blogspot.com"
"dash-to-dock@micxgx.gmail.com"
"gnome-shell-extension-appindicator"
"appindicatorsupport@rgcjonas.gmail.com"
"user-theme@gnome-shell-extensions.gcampax.github.com"
"autohide-battery@sitnik.ru"
"just-perfection-desktop@just-perfection"
];
};
# Perfection settings
"org/gnome/shell/extensions/just-perfection" = {
theme = false;
notification-banner-position = 2;
startup-status = 0;
};
# Autohide battery
"org/gnome/shell/extensions/autohide-battery" = {
hide-on = 95;
};
# Configure dash-to-dock
"org/gnome/shell/extensions/dash-to-dock" = {
apply-custom-theme = false;
apply-glossy-effect = false;
autohide-in-fullscreen = true;
background-opacity = 0.8;
custom-theme-customize-running-dots = false;
custom-theme-running-dots-border-color = "rgb(255,255,255)";
custom-theme-running-dots-color = "rgb(255,255,255)";
dash-max-icon-size = 48;
dock-fixed = false;
dock-position = "BOTTOM";
extend-height = 0;
height-fraction = 0.9;
intellihide = true;
intellihide-mode = "ALL_WINDOWS";
multi-monitor = true;
preferred-monitor = -2;
preferred-monitor-by-connector = "DP-2";
running-indicator-dominant-color = true;
running-indicator-style = "DOTS";
show-apps-at-top = true;
show-favorites = true;
show-mounts = false;
show-trash = true;
transparency = 0.75;
transparency-mode = "FIXED";
unity-backlit-items = false;
};
# Configure logo-menu
"org/gnome/shell/extensions/Logo-menu" = {
hide-icon-shadow = false;
menu-button-extensions-app = "org.gnome.Extensions.desktop";
menu-button-icon-image = 23;
menu-button-icon-size = 24;
menu-button-system-monitor = "missioncenter";
menu-button-terminal = "kitty";
show-power-options = false;
symbolic-icon = true;
use-custom-icon = false;
};
# Configure covereflow-alt-tab
"org/gnome/shell/extensions/coverflowalttab" = {
animation-time = 0.2;
easing-function = "ease-out-quart";
icon-has-shadow = true;
icon-style = "Overlay";
invert-swipes = false;
position = "Top";
switcher-looping-method = "Flip Stack";
switcher-style = "Coverflow";
};
# Configure burn-my-windows
"org/gnome/shell/extensions/burn-my-windows" = {
active-profile = "${config.home.homeDirectory}/.config/burn-my-windows/profiles/default.conf";
};
# Configure blur-my-shell
"org/gnome/shell/extensions/blur-my-shell" = {
brightness = 0.75;
noise-amount = 0;
};
# Configure tiling shell
"org/gnome/shell/extensions/tilingshell" = {
layouts-json = ''
[
{
"id": "Layout 1",
"tiles": [
{ "x": 0, "y": 0, "width": 0.22, "height": 0.5, "groups": [1, 2] },
{ "x": 0, "y": 0.5, "width": 0.22, "height": 0.5, "groups": [1, 2] },
{ "x": 0.22, "y": 0, "width": 0.56, "height": 1, "groups": [2, 3] },
{ "x": 0.78, "y": 0, "width": 0.22, "height": 0.5, "groups": [3, 4] },
{ "x": 0.78, "y": 0.5, "width": 0.22, "height": 0.5, "groups": [3, 4] }
]
},
{
"id": "Layout 2",
"tiles": [
{ "x": 0, "y": 0, "width": 0.22, "height": 1, "groups": [1] },
{ "x": 0.22, "y": 0, "width": 0.56, "height": 1, "groups": [1, 2] },
{ "x": 0.78, "y": 0, "width": 0.22, "height": 1, "groups": [2] }
]
},
{
"id": "Layout 3",
"tiles": [
{ "x": 0, "y": 0, "width": 0.33, "height": 1, "groups": [1] },
{ "x": 0.33, "y": 0, "width": 0.67, "height": 1, "groups": [1] }
]
},
{
"id": "Layout 4",
"tiles": [
{ "x": 0, "y": 0, "width": 0.67, "height": 1, "groups": [1] },
{ "x": 0.67, "y": 0, "width": 0.33, "height": 1, "groups": [1] }
]
},
{
"id": "Portrait Layout",
"tiles": [
{ "x": 0, "y": 0, "width": 1, "height": 0.25, "groups": [1] },
{ "x": 0, "y": 0.25, "width": 1, "height": 0.5, "groups": [1, 2] },
{
"x": 0,
"y": 0.75,
"width": 0.50,
"height": 0.25,
"groups": [2, 3]
},
{
"x": 0.50,
"y": 0.75,
"width": 0.50,
"height": 0.25,
"groups": [2, 3]
}
]
}
]
'';
overridden-settings = "{\"org.gnome.mutter.keybindings\":{\"toggle-tiled-right\":\"['<Super>Right']\",\"toggle-tiled-left\":\"['<Super>Left']\"},\"org.gnome.desktop.wm.keybindings\":{\"maximize\":\"['<Super>Up']\",\"unmaximize\":\"['<Super>Down', '<Alt>F5']\"},\"org.gnome.mutter\":{\"edge-tiling\":\"false\"}}";
};
# Configure forge
"org/gnome/shell/extensions/forge" = {
move-pointer-focus-enabled = false;
stacked-tiling-mode-enabled = true;
tabbed-tiling-mode-enabled = true;
tiling-mode-enabled = true;
};
"org/gnome/shell/extensions/forge/keybindings" = {
con-split-horizontal = [ "<Super>z" ];
con-split-layout-toggle = [ "<Super>g" ];
con-split-vertical = [ "<Super>v" ];
con-stacked-layout-toggle = [ "<Shift><Super>s" ];
con-tabbed-layout-toggle = [ "<Shift><Super>t" ];
con-tabbed-showtab-decoration-toggle = [ "<Control><Alt>y" ];
focus-border-toggle = [ "<Super>x" ];
prefs-tiling-toggle = [ "<Super>w" ];
window-focus-down = [ "<Super>j" ];
window-focus-left = [ "<Super>h" ];
window-focus-right = [ "<Super>l" ];
window-focus-up = [ "<Super>k" ];
window-gap-size-decrease = [ "<Control><Super>minus" ];
window-gap-size-increase = [ "<Control><Super>plus" ];
window-move-down = [ "<Shift><Super>j" ];
window-move-left = [ "<Shift><Super>h" ];
window-move-right = [ "<Shift><Super>l" ];
window-move-up = [ "<Shift><Super>k" ];
window-resize-bottom-decrease = [ "<Shift><Control><Super>i" ];
window-resize-bottom-increase = [ "<Control><Super>u" ];
window-resize-left-decrease = [ "<Shift><Control><Super>o" ];
window-resize-left-increase = [ "<Control><Super>y" ];
window-resize-right-decrease = [ "<Shift><Control><Super>y" ];
window-resize-right-increase = [ "<Control><Super>o" ];
window-resize-top-decrease = [ "<Shift><Control><Super>u" ];
window-resize-top-increase = [ "<Control><Super>i" ];
window-snap-center = [ "<Control><Alt>c" ];
window-snap-one-third-left = [ "<Control><Alt>d" ];
window-snap-one-third-right = [ "<Control><Alt>g" ];
window-snap-two-third-left = [ "<Control><Alt>e" ];
window-snap-two-third-right = [ ];
window-swap-down = [ "<Control><Super>j" ];
window-swap-last-active = [ "<Super>Return" ];
window-swap-left = [ "<Control><Super>h" ];
window-swap-right = [ "<Control><Super>l" ];
window-swap-up = [ "<Control><Super>k" ];
window-toggle-always-float = [ "<Shift><Super>c" ];
window-toggle-float = [ "<Super>c" ];
workspace-active-tile-toggle = [ "<Shift><Super>w" ];
};
# User theme
"org/gnome/shell/extensions/user-theme" = {
name = "Yaru-purple-dark";
};
};
};
}

View File

@ -0,0 +1,34 @@
{ pkgs, ... }:
{
dconf.settings = {
"org/gnome/settings-daemon/plugins/media-keys" = {
custom-keybindings = [
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/terminal/"
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/1password-quick-access/"
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/screenshot/"
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/missioncenter/"
];
};
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/terminal" = {
binding = "<Primary><Alt>t";
command = "kitty";
name = "open-terminal";
};
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/1password-quick-access" = {
binding = "<Ctrl><Alt>space";
command = "1password --quick-access";
name = "1password-quick-access";
};
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/screenshot" = {
binding = "<Shift><Alt>4";
command = "flameshot gui";
name = "screenshot";
};
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/missioncenter" = {
binding = "<Ctrl><Shift>Escape";
command = "missioncenter";
name = "missioncenter";
};
};
}