Files
Sovran_SystemsOS/modules/core/sovran_systemsos-desktop.nix

415 lines
13 KiB
Nix

{ config, pkgs, lib, ... }:
let
wallpaperSrc = ../../assets/wallpapers;
customWallpaper = pkgs.stdenvNoCC.mkDerivation {
pname = "sovran-systemsos-wallpaper";
version = "2.0";
src = wallpaperSrc;
nativeBuildInputs = [ pkgs.librsvg ];
installPhase = ''
mkdir -p $out/share/backgrounds/sovran
rsvg-convert -w 3440 -h 1440 \
$src/sovran-wallpaper-12-ultrawide-3440x1440.svg \
-o $out/share/backgrounds/sovran/sovran-ultrawide.png
'';
};
sovranThemeInit = pkgs.writeShellScriptBin "sovran-theme-init" ''
STAMP="$HOME/.config/sovran-theme-applied"
USER_DB="$HOME/.config/dconf/user"
# Already applied skip
if [ -f "$STAMP" ]; then
exit 0
fi
# Existing machine updating user already has their own settings, don't overwrite
if [ -f "$USER_DB" ]; then
mkdir -p "$HOME/.config"
touch "$STAMP"
exit 0
fi
# Fresh install no user-db exists yet, apply full Sovran theme below
BG_DIR="/run/current-system/sw/share/backgrounds/sovran"
ULTRAWIDE="$BG_DIR/sovran-ultrawide.png"
CHOSEN="$ULTRAWIDE"
${pkgs.dconf}/bin/dconf load / << EOF
[org/gnome/desktop/background]
picture-uri='file://$CHOSEN'
picture-uri-dark='file://$CHOSEN'
picture-options='zoom'
primary-color='#000000'
secondary-color='#000000'
[org/gnome/desktop/interface]
color-scheme='prefer-dark'
enable-animations=true
icon-theme='Papirus-Dark'
[org/gnome/settings-daemon/plugins/power]
sleep-inactive-ac-type='nothing'
sleep-inactive-ac-timeout=0
sleep-inactive-battery-type='nothing'
sleep-inactive-battery-timeout=0
idle-dim=false
ambient-enabled=false
power-button-action='nothing'
[org/gnome/desktop/session]
idle-delay=uint32 0
[org/gnome/desktop/screensaver]
lock-enabled=false
idle-activation-enabled=false
[org/gnome/mutter]
edge-tiling=false
[org/gnome/nautilus/icon-view]
default-zoom-level='large'
[org/gnome/nautilus/preferences]
default-folder-viewer='icon-view'
migrated-gtk-settings=true
search-filter-time-type='last_modified'
[org/gnome/shell]
disabled-extensions=['just-perfection-desktop@just-perfection']
enabled-extensions=['appindicatorsupport@rgcjonas.gmail.com', 'dash-to-dock-cosmic-@halfmexicanhalfamazing@gmail.com', 'Vitals@CoreCoding.com', 'dash-to-dock@micxgx.gmail.com', 'pop-shell@system76.com', 'date-menu-formatter@marcinjakubowski.github.com', 'light-style@gnome-shell-extensions.gcampax.github.com']
favorite-apps=['brave-browser.desktop', 'org.gnome.Settings.desktop', 'org.gnome.Nautilus.desktop', 'sovran-hub.desktop', 'org.gnome.Software.desktop', 'org.gnome.Geary.desktop', 'org.gnome.Contacts.desktop', 'org.gnome.Calendar.desktop', 'sparrow.desktop', 'Bisq.desktop', 'bisq2.desktop']
welcome-dialog-last-shown-version='48.4'
[org/gnome/desktop/app-folders]
folder-children=['Browsers', 'Office', 'Terminal', 'Chat', 'Bitcoin', 'Media', 'System']
[org/gnome/desktop/app-folders/folders/Browsers]
name='Browsers'
apps=['brave-browser.desktop', 'firefox.desktop', 'org.gnome.Epiphany.desktop']
[org/gnome/desktop/app-folders/folders/Office]
name='Office'
apps=['libreoffice-writer.desktop', 'libreoffice-calc.desktop', 'libreoffice-impress.desktop', 'libreoffice-draw.desktop', 'libreoffice-base.desktop', 'libreoffice-math.desktop', 'libreoffice-startcenter.desktop', 'org.gnome.TextEditor.desktop', 'org.gnome.gedit.desktop', 'org.gnome.Calculator.desktop', 'org.gnome.Calendar.desktop', 'org.gnome.Contacts.desktop', 'org.gnome.Geary.desktop', 'org.gnome.Evince.desktop', 'onlyoffice-desktopeditors.desktop', 'simple-scan.desktop', 'system-config-printer.desktop']
[org/gnome/desktop/app-folders/folders/Terminal]
name='Terminal'
apps=['org.gnome.Terminal.desktop', 'org.gnome.tweaks.desktop', 'gparted.desktop', 'htop.desktop', 'btop.desktop', 'ranger.desktop', 'org.gnome.Console.desktop']
[org/gnome/desktop/app-folders/folders/Chat]
name='Chat'
apps=['element-desktop.desktop']
[org/gnome/desktop/app-folders/folders/Bitcoin]
name='Bitcoin'
apps=['sparrow.desktop', 'Bisq.desktop', 'bisq2.desktop']
[org/gnome/desktop/app-folders/folders/Media]
name='Media'
apps=['org.gnome.Loupe.desktop', 'org.gnome.Totem.desktop', 'org.gnome.Snapshot.desktop', 'org.gnome.Weather.desktop', 'org.gnome.Maps.desktop', 'org.gnome.Clocks.desktop', 'org.gnome.Music.desktop', 'org.gnome.Characters.desktop', 'org.gnome.font-viewer.desktop']
[org/gnome/desktop/app-folders/folders/System]
name='System'
apps=['org.gnome.Settings.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop', 'sovran-hub.desktop', 'bitwarden.desktop', 'org.gnome.DiskUtility.desktop', 'org.gnome.SystemMonitor.desktop', 'org.gnome.Logs.desktop', 'org.gnome.Connections.desktop', 'org.gnome.baobab.desktop', 'zenity.desktop']
[org/gnome/shell/extensions/dash-to-dock]
background-color='rgb(0,0,0)'
background-opacity=0.50000000000000001
custom-background-color=true
dash-max-icon-size=47
dock-position='BOTTOM'
height-fraction=0.90000000000000002
preferred-monitor=-2
preferred-monitor-by-connector='Virtual-1'
show-trash=false
transparency-mode='FIXED'
[org/gnome/shell/extensions/date-menu-formatter]
font-size=12
pattern='EEEE, MMM d h:mm a'
text-align='center'
update-level=1
[org/gnome/shell/extensions/just-perfection]
support-notifier-showed-version=34
support-notifier-type=0
[org/gnome/shell/extensions/pop-shell]
tile-by-default=true
[org/gnome/shell/extensions/vitals]
hot-sensors=['_storage_free_', '_processor_usage_', '_memory_usage_']
[org/gnome/software]
first-run=false
[org/gtk/gtk4/settings/color-chooser]
selected-color=(true, 0.0, 0.0, 0.0, 1.0)
EOF
mkdir -p "$HOME/.config"
touch "$STAMP"
'';
in
{
environment.systemPackages = [ customWallpaper sovranThemeInit ];
environment.etc."xdg/autostart/sovran-theme-init.desktop".text = ''
[Desktop Entry]
Type=Application
Name=Sovran Theme Init
Exec=${sovranThemeInit}/bin/sovran-theme-init
X-GNOME-Autostart-enabled=true
X-GNOME-Autostart-Phase=Application
NoDisplay=true
'';
programs.dconf.enable = true;
programs.dconf.profiles.user.databases = [
{
settings = {
"org/gnome/desktop/background" = {
picture-uri = "file:///run/current-system/sw/share/backgrounds/sovran/sovran-ultrawide.png";
picture-uri-dark = "file:///run/current-system/sw/share/backgrounds/sovran/sovran-ultrawide.png";
picture-options = "zoom";
primary-color = "#000000";
secondary-color = "#000000";
};
"org/gnome/desktop/input-sources" = {
sources = [ (lib.gvariant.mkTuple [ "xkb" "us" ]) ];
xkb-options = lib.gvariant.mkEmptyArray lib.gvariant.type.string;
};
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
enable-animations = true;
icon-theme = "Papirus-Dark";
};
"org/gnome/settings-daemon/plugins/power" = {
sleep-inactive-ac-type = "nothing";
sleep-inactive-ac-timeout = lib.gvariant.mkInt32 0;
sleep-inactive-battery-type = "nothing";
sleep-inactive-battery-timeout = lib.gvariant.mkInt32 0;
idle-dim = false;
ambient-enabled = false;
power-button-action = "nothing";
};
"org/gnome/desktop/session" = {
idle-delay = lib.gvariant.mkUint32 0;
};
"org/gnome/desktop/screensaver" = {
lock-enabled = false;
idle-activation-enabled = false;
};
"org/gnome/evolution-data-server" = {
migrated = true;
};
"org/gnome/mutter" = {
edge-tiling = false;
};
"org/gnome/nautilus/icon-view" = {
default-zoom-level = "large";
};
"org/gnome/nautilus/preferences" = {
default-folder-viewer = "icon-view";
migrated-gtk-settings = true;
search-filter-time-type = "last_modified";
};
"org/gnome/shell" = {
disabled-extensions = [ "just-perfection-desktop@just-perfection" ];
enabled-extensions = [
"appindicatorsupport@rgcjonas.gmail.com"
"dash-to-dock-cosmic-@halfmexicanhalfamazing@gmail.com"
"Vitals@CoreCoding.com"
"dash-to-dock@micxgx.gmail.com"
"pop-shell@system76.com"
"date-menu-formatter@marcinjakubowski.github.com"
"light-style@gnome-shell-extensions.gcampax.github.com"
];
favorite-apps = [
"brave-browser.desktop"
"org.gnome.Settings.desktop"
"org.gnome.Nautilus.desktop"
"sovran-hub.desktop"
"org.gnome.Software.desktop"
"org.gnome.Geary.desktop"
"org.gnome.Contacts.desktop"
"org.gnome.Calendar.desktop"
"sparrow.desktop"
"Bisq.desktop"
"bisq2.desktop"
];
welcome-dialog-last-shown-version = "48.4";
};
"org/gnome/desktop/app-folders" = {
folder-children = [ "Browsers" "Office" "Terminal" "Chat" "Bitcoin" "Media" "System" ];
};
"org/gnome/desktop/app-folders/folders/Browsers" = {
name = "Browsers";
apps = [
"brave-browser.desktop"
"firefox.desktop"
"org.gnome.Epiphany.desktop"
];
};
"org/gnome/desktop/app-folders/folders/Office" = {
name = "Office";
apps = [
"libreoffice-writer.desktop"
"libreoffice-calc.desktop"
"libreoffice-impress.desktop"
"libreoffice-draw.desktop"
"libreoffice-base.desktop"
"libreoffice-math.desktop"
"libreoffice-startcenter.desktop"
"org.gnome.TextEditor.desktop"
"org.gnome.gedit.desktop"
"org.gnome.Calculator.desktop"
"org.gnome.Calendar.desktop"
"org.gnome.Contacts.desktop"
"org.gnome.Geary.desktop"
"org.gnome.Evince.desktop"
"onlyoffice-desktopeditors.desktop"
"simple-scan.desktop"
"system-config-printer.desktop"
];
};
"org/gnome/desktop/app-folders/folders/Terminal" = {
name = "Terminal";
apps = [
"org.gnome.Terminal.desktop"
"org.gnome.tweaks.desktop"
"gparted.desktop"
"htop.desktop"
"btop.desktop"
"ranger.desktop"
"org.gnome.Console.desktop"
];
};
"org/gnome/desktop/app-folders/folders/Chat" = {
name = "Chat";
apps = [
"element-desktop.desktop"
];
};
"org/gnome/desktop/app-folders/folders/Bitcoin" = {
name = "Bitcoin";
apps = [
"sparrow.desktop"
"Bisq.desktop"
"bisq2.desktop"
];
};
"org/gnome/desktop/app-folders/folders/Media" = {
name = "Media";
apps = [
"org.gnome.Loupe.desktop"
"org.gnome.Totem.desktop"
"org.gnome.Snapshot.desktop"
"org.gnome.Weather.desktop"
"org.gnome.Maps.desktop"
"org.gnome.Clocks.desktop"
"org.gnome.Music.desktop"
"org.gnome.Characters.desktop"
"org.gnome.font-viewer.desktop"
];
};
"org/gnome/desktop/app-folders/folders/System" = {
name = "System";
apps = [
"org.gnome.Settings.desktop"
"org.gnome.Nautilus.desktop"
"org.gnome.Software.desktop"
"sovran-hub.desktop"
"bitwarden.desktop"
"org.gnome.DiskUtility.desktop"
"org.gnome.SystemMonitor.desktop"
"org.gnome.Logs.desktop"
"org.gnome.Connections.desktop"
"org.gnome.baobab.desktop"
"zenity.desktop"
];
};
"org/gnome/shell/extensions/dash-to-dock" = {
background-color = "rgb(0,0,0)";
background-opacity = 0.50000000000000001;
custom-background-color = true;
dash-max-icon-size = lib.gvariant.mkInt32 47;
dock-position = "BOTTOM";
height-fraction = 0.90000000000000002;
preferred-monitor = lib.gvariant.mkInt32 (-2);
preferred-monitor-by-connector = "Virtual-1";
show-trash = false;
transparency-mode = "FIXED";
};
"org/gnome/shell/extensions/date-menu-formatter" = {
font-size = lib.gvariant.mkInt32 12;
pattern = "EEEE, MMM d h:mm a";
text-align = "center";
update-level = lib.gvariant.mkInt32 1;
};
"org/gnome/shell/extensions/just-perfection" = {
support-notifier-showed-version = lib.gvariant.mkInt32 34;
support-notifier-type = lib.gvariant.mkInt32 0;
};
"org/gnome/shell/extensions/pop-shell" = {
tile-by-default = true;
};
"org/gnome/shell/extensions/vitals" = {
hot-sensors = [
"_storage_free_"
"_processor_usage_"
"_memory_usage_"
];
};
"org/gnome/software" = {
check-timestamp = lib.gvariant.mkInt64 1760848349;
first-run = false;
};
"org/gtk/gtk4/settings/color-chooser" = {
selected-color = lib.gvariant.mkTuple [ true 0.0 0.0 0.0 1.0 ];
};
};
}
];
}