254 lines
6.9 KiB
Nix
254 lines
6.9 KiB
Nix
{
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
with lib; {
|
|
imports = [../home.nix];
|
|
|
|
# Run electron apps under wayland.
|
|
home.sessionVariables.NIXOS_OZONE_WL = "1";
|
|
|
|
# Theme QT applications
|
|
qt = {
|
|
enable = true;
|
|
platformTheme.name = "adwaita";
|
|
style.name = "adwaita-dark";
|
|
};
|
|
|
|
# Allow fontconfig to discover fonts.
|
|
fonts.fontconfig.enable = true;
|
|
|
|
# dconf settings
|
|
dconf = {
|
|
enable = true;
|
|
settings = {
|
|
# Gnome settings.
|
|
"org/gnome/desktop/interface" = {
|
|
accent-color = "green";
|
|
clock-show-seconds = true;
|
|
clock-show-weekday = true;
|
|
color-scheme = "prefer-dark";
|
|
enable-hot-corners = false;
|
|
show-battery-percentage = true;
|
|
};
|
|
|
|
"org/gnome/desktop/background" = let
|
|
wallpaper = pkgs.copyPathToStore ./wallpaper.jpg;
|
|
in {
|
|
picture-uri = wallpaper;
|
|
picture-uri-dark = wallpaper;
|
|
};
|
|
|
|
"org/gnome/shell" = {
|
|
favorite-apps = gvariant.mkEmptyArray (gvariant.type.string);
|
|
enabled-extensions = with pkgs; [
|
|
gnomeExtensions.adw-gtk3-colorizer.extensionUuid
|
|
gnomeExtensions.alphabetical-app-grid.extensionUuid
|
|
gnomeExtensions.auto-move-windows.extensionUuid
|
|
gnomeExtensions.caffeine.extensionUuid
|
|
gnomeExtensions.color-picker.extensionUuid
|
|
gnomeExtensions.rounded-window-corners-reborn.extensionUuid
|
|
gnomeExtensions.smile-complementary-extension.extensionUuid
|
|
];
|
|
};
|
|
|
|
"org/gnome/desktop/preferences" = {
|
|
num-workspaces = gvariant.mkInt32 4;
|
|
};
|
|
|
|
"org/gnome/mutter" = {
|
|
dynamic-workspaces = false;
|
|
experimental-features = [
|
|
"scale-monitor-framebuffer" # Enables fractional scaling (125% 150% 175%)
|
|
"xwayland-native-scaling" # Scales Xwayland applications to look crisp on HiDPI screens
|
|
];
|
|
};
|
|
|
|
"org/gnome/settings-daemon/plugins/color" = {
|
|
night-light-enabled = true;
|
|
night-light-schedule-automatic = false;
|
|
};
|
|
|
|
"org/gnome/desktop/peripherals/touchpad" = {
|
|
natural-scroll = false;
|
|
two-finger-scrolling-enabled = true;
|
|
};
|
|
|
|
"org/gnome/desktop/wm/keybindings" = {
|
|
close = ["<Super>q"];
|
|
move-to-workspace-1 = ["<Shift><Super>1"];
|
|
move-to-workspace-2 = ["<Shift><Super>2"];
|
|
move-to-workspace-3 = ["<Shift><Super>3"];
|
|
move-to-workspace-4 = ["<Shift><Super>4"];
|
|
switch-to-workspace-1 = ["<Super>1"];
|
|
switch-to-workspace-2 = ["<Super>2"];
|
|
switch-to-workspace-3 = ["<Super>3"];
|
|
switch-to-workspace-4 = ["<Super>4"];
|
|
toggle-maximized = ["<Super>f"];
|
|
};
|
|
|
|
"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/custom1/"
|
|
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/"
|
|
];
|
|
};
|
|
|
|
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
|
|
name = "Open Emoji Picker";
|
|
command = "smile";
|
|
binding = "<Super>period";
|
|
};
|
|
|
|
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = {
|
|
name = "Open Terminal";
|
|
command = "ghostty";
|
|
binding = "<Super>Return";
|
|
};
|
|
|
|
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2" = {
|
|
name = "Open Files";
|
|
command = "nautilus";
|
|
binding = "<Super>e";
|
|
};
|
|
|
|
# Applications.
|
|
"io/github/Foldex/AdwSteamGtk" = {
|
|
color-theme-options = "Adwaita";
|
|
hide-whats-new-switch = false;
|
|
library-sidebar-options = "Show";
|
|
login-qr-options = "Show";
|
|
no-rounded-corners-switch = false;
|
|
prefs-beta-support = false;
|
|
window-controls-layout-options = "Auto";
|
|
window-controls-options = "Adwaita";
|
|
};
|
|
|
|
# Extensions.
|
|
"org/gnome/shell/extensions/auto-move-windows" = {
|
|
application-list = ["Fluffychat.desktop:2" "signal.desktop:2" "proton-mail.desktop:2" "feishin.desktop:3" "org.prismlauncher.PrismLauncher.desktop:4" "steam.desktop:4" "discord.desktop:2"];
|
|
};
|
|
|
|
"org/gnome/shell/extensions/alphabetical-app-grid" = {
|
|
folder-order-position = "start";
|
|
};
|
|
|
|
"org/gnome/shell/extensions/caffeine" = {
|
|
enable-fullscreen = false;
|
|
enable-mpris = false;
|
|
indicator-position = gvariant.mkInt32 0;
|
|
indicator-position-index = gvariant.mkInt32 0;
|
|
indicator-position-max = gvariant.mkInt32 4;
|
|
restore-state = false;
|
|
show-indicator = "only-active";
|
|
};
|
|
|
|
"org/gnome/shell/extensions/color-picker" = {
|
|
enable-notify = false;
|
|
enable-preview = true;
|
|
enable-shortcut = true;
|
|
enable-sound = false;
|
|
enable-systray = false;
|
|
persistent-mode = false;
|
|
};
|
|
};
|
|
};
|
|
|
|
# Autostart.
|
|
xdg.autostart = {
|
|
enable = true;
|
|
readOnly = true;
|
|
entries = let
|
|
smile = pkgs.writeText "smile.desktop" ''
|
|
[Desktop Entry]
|
|
Type=Application
|
|
Name=it.mijorus.smile
|
|
X-XDP-Autostart=it.mijorus.smile
|
|
Exec=smile --start-hidden
|
|
'';
|
|
in [
|
|
smile
|
|
"${pkgs.fluffychat}/share/applications/Fluffychat.desktop"
|
|
"${pkgs.feishin}/share/applications/feishin.desktop"
|
|
"${pkgs.protonmail-desktop}/share/applications/proton-mail.desktop"
|
|
"${pkgs.signal-desktop}/share/applications/signal.desktop"
|
|
];
|
|
};
|
|
|
|
# Install some packages.
|
|
home.packages = with pkgs; [
|
|
# Gnome.
|
|
adw-gtk3
|
|
adwsteamgtk
|
|
gnome-tweaks
|
|
gnomeExtensions.adw-gtk3-colorizer
|
|
gnomeExtensions.alphabetical-app-grid
|
|
gnomeExtensions.auto-move-windows
|
|
gnomeExtensions.caffeine
|
|
gnomeExtensions.color-picker
|
|
gnomeExtensions.rounded-window-corners-reborn
|
|
gnomeExtensions.smile-complementary-extension
|
|
|
|
# Fonts.
|
|
merriweather
|
|
iosevka
|
|
|
|
# Dictionary & spellcheck.
|
|
hunspell
|
|
hunspellDicts.en_AU
|
|
|
|
# Software.
|
|
blender
|
|
caligula
|
|
celluloid
|
|
deploy-rs
|
|
feishin
|
|
fluffychat
|
|
fusee-nano
|
|
gimp3
|
|
glabels-qt
|
|
inkscape
|
|
jellyfin-media-player
|
|
libreoffice
|
|
minipro
|
|
naps2
|
|
ns-usbloader
|
|
obsidian
|
|
orca-slicer
|
|
papers
|
|
prismlauncher
|
|
protonmail-desktop
|
|
rockbox-utility
|
|
rpi-imager
|
|
signal-desktop
|
|
smile
|
|
via
|
|
webcord
|
|
yubioath-flutter
|
|
];
|
|
|
|
# Install and configure software.
|
|
services.nextcloud-client = {
|
|
enable = true;
|
|
startInBackground = true;
|
|
};
|
|
|
|
programs = {
|
|
ghostty = {
|
|
enable = true;
|
|
settings = {
|
|
font-family = "IosevkaCustom";
|
|
theme = "Kanagawa Dragon";
|
|
};
|
|
};
|
|
|
|
firefox = {
|
|
enable = true;
|
|
package = pkgs.librewolf;
|
|
profiles.default = {};
|
|
profiles.default.settings."identity.sync.tokenserver.uri" = "https://fxsync.fern.garden/1.0/sync/1.5";
|
|
};
|
|
};
|
|
}
|