1

Remove gnome + plasma modules

This commit is contained in:
2023-05-24 20:25:01 +02:00
parent b908b9c3c7
commit 19061d139c
5 changed files with 33 additions and 498 deletions

View File

@ -82,28 +82,6 @@ rec {
jabref.enable = false; jabref.enable = false;
}; };
gnome = {
enable = false;
extensions = true;
theme = {
papirusIcons = true;
numixCursor = true;
};
settings = {
};
};
# TODO:
# plasma = {
# enable = false;
# };
# hyprland = {
# enable = true;
# };
# TODO: More options, like font? # TODO: More options, like font?
kitty.enable = true; kitty.enable = true;
@ -136,10 +114,6 @@ rec {
mainDir = "~/Videos/NzbGet"; mainDir = "~/Videos/NzbGet";
}; };
plasma = {
enable = false;
};
ranger = { ranger = {
enable = false; enable = false;
preview = true; preview = true;
@ -638,23 +612,23 @@ rec {
extensions = with pkgs.vscode-extensions; [ extensions = with pkgs.vscode-extensions; [
alefragnani.bookmarks alefragnani.bookmarks
# alefragnani.project-manager # Not much sense with flake dev environments # alefragnani.project-manager # Not much sense with flake dev environments
bradlc.vscode-tailwindcss # bradlc.vscode-tailwindcss
christian-kohler.path-intellisense christian-kohler.path-intellisense
codezombiech.gitignore codezombiech.gitignore
coolbear.systemd-unit-file coolbear.systemd-unit-file
eamodio.gitlens eamodio.gitlens
formulahendry.auto-rename-tag # formulahendry.auto-rename-tag
formulahendry.auto-close-tag # formulahendry.auto-close-tag
gitlab.gitlab-workflow # gitlab.gitlab-workflow
irongeek.vscode-env # irongeek.vscode-env
jnoortheen.nix-ide jnoortheen.nix-ide
kamadorueda.alejandra kamadorueda.alejandra
kamikillerto.vscode-colorize # kamikillerto.vscode-colorize
llvm-vs-code-extensions.vscode-clangd llvm-vs-code-extensions.vscode-clangd
matklad.rust-analyzer matklad.rust-analyzer
mechatroner.rainbow-csv mechatroner.rainbow-csv
mikestead.dotenv # mikestead.dotenv
mkhl.direnv # mkhl.direnv
ms-azuretools.vscode-docker ms-azuretools.vscode-docker
ms-kubernetes-tools.vscode-kubernetes-tools ms-kubernetes-tools.vscode-kubernetes-tools
ms-python.python # TODO: Reenable, was disabled bc build failure ms-python.python # TODO: Reenable, was disabled bc build failure
@ -663,9 +637,8 @@ rec {
ms-vscode.cpptools ms-vscode.cpptools
ms-vscode.hexeditor ms-vscode.hexeditor
ms-vscode.makefile-tools ms-vscode.makefile-tools
naumovs.color-highlight # naumovs.color-highlight
njpwerner.autodocstring njpwerner.autodocstring
# oderwat.indent-rainbow # Looks ugly
james-yu.latex-workshop james-yu.latex-workshop
redhat.java redhat.java
redhat.vscode-xml redhat.vscode-xml
@ -685,12 +658,13 @@ rec {
]; ];
# haskell = {}; # haskell = {};
# keybindings = {}; # keybindings = {};
userSettings = { userSettings = {
"files.autoSave" = "onFocusChange"; # VSCode Internals
"editor.fontSize" = 14;
"editor.fontFamily" = "JetBrainsMono Nerd Font Mono"; "editor.fontFamily" = "JetBrainsMono Nerd Font Mono";
"editor.fontSize" = 14;
"editor.renderWhitespace" = "selection"; "editor.renderWhitespace" = "selection";
"editor.cursorStyle" = "line"; "editor.cursorStyle" = "line"; # Use line for vim plugin
"editor.lineNumbers" = "relative"; "editor.lineNumbers" = "relative";
"editor.linkedEditing" = true; "editor.linkedEditing" = true;
"editor.smoothScrolling" = true; "editor.smoothScrolling" = true;
@ -699,33 +673,26 @@ rec {
"editor.cursorSmoothCaretAnimation" = "on"; "editor.cursorSmoothCaretAnimation" = "on";
"editor.cursorSurroundingLines" = 10; "editor.cursorSurroundingLines" = 10;
"editor.minimap.renderCharacters" = false; "editor.minimap.renderCharacters" = false;
"files.trimFinalNewlines" = true;
"files.trimTrailingWhitespace" = true; # NOTE: If this is enabled with frequent autosave, the current lines whitespace will always be removed, which is obnoxious
"workbench.enableExperiments" = false;
"workbench.list.smoothScrolling" = true;
"workbench.colorTheme" = "Default Light Modern";
"workbench.iconTheme" = "vscode-icons";
"security.workspace.trust.enabled" = false;
"editor.bracketPairColorization.enabled" = true; "editor.bracketPairColorization.enabled" = true;
"editor.guides.bracketPairs" = "active"; "editor.guides.bracketPairs" = "active";
"editor.guides.bracketPairsHorizontal" = "active"; "editor.guides.bracketPairsHorizontal" = "active";
"editor.guides.highlightActiveIndentation" = false; "editor.guides.highlightActiveIndentation" = false;
"files.autoSave" = "onFocusChange";
"files.trimFinalNewlines" = true;
"files.trimTrailingWhitespace" = true; # NOTE: If this is enabled with frequent autosave, the current lines whitespace will always be removed, which is obnoxious
"workbench.enableExperiments" = false;
"workbench.list.smoothScrolling" = true;
"workbench.colorTheme" = "Default Light Modern";
"workbench.iconTheme" = "vscode-icons";
"security.workspace.trust.enabled" = false;
# Language Tool
"ltex.checkFrequency" = "manual"; "ltex.checkFrequency" = "manual";
# Looks ugly
# "workbench.colorCustomizations" = { # LaTeX
# # Bracket colors
# "editorBracketHighlight.foreground1" = "#FFD700";
# "editorBracketHighlight.foreground2" = "#DA70D6";
# "editorBracketHighlight.foreground3" = "#179fff";
# # Inactive guide colors
# "editorBracketPairGuide.background1" = "#ffd90080";
# "editorBracketPairGuide.background2" = "#CC66CC80";
# "editorBracketPairGuide.background3" = "#87CEFA80";
# # Active guide colors
# "editorBracketPairGuide.activeBackground1" = "#ffd90080";
# "editorBracketPairGuide.activeBackground2" = "#CC66CC80";
# "editorBracketPairGuide.activeBackground3" = "#87CEFA80";
# };
"latex-workshop.latex.tools" = [ "latex-workshop.latex.tools" = [
{ {
"name" = "latexmk"; "name" = "latexmk";
@ -749,7 +716,12 @@ rec {
"-m" "-m"
"-y=defaultIndent: '%INDENT%'" "-y=defaultIndent: '%INDENT%'"
]; ];
# Nix
"[nix]"."editor.tabSize" = 2; "[nix]"."editor.tabSize" = 2;
"nix.enableLanguageServer" = true;
"nix.serverPath" = "nil";
"nix.formatterPath" = "alejandra";
}; };
# TODO: Snippets # TODO: Snippets
}; };

View File

@ -1,347 +0,0 @@
{
config,
nixosConfig,
lib,
mylib,
pkgs,
...
}:
with lib;
with mylib.modules; let
cfg = config.modules.gnome;
in {
options.modules.gnome = import ./options.nix {inherit lib mylib;};
config = mkIf cfg.enable {
assertions = [
{
assertion = nixosConfig.services.xserver.desktopManager.gnome.enable;
message = "Can't enable Gnome module when Gnome is not enabled!";
}
{
assertion = nixosConfig.programs.dconf.enable;
message = "Can't enable Gnome module when programs.dconf is not enabled!";
}
];
gtk = mkMerge [
{enable = true;}
(optionalAttrs cfg.theme.papirusIcons {
iconTheme.package = pkgs.papirus-icon-theme;
iconTheme.name = "Papirus";
})
];
home.pointerCursor = mkMerge [
{
gtk.enable = true;
x11.enable = true;
}
(optionalAttrs cfg.theme.numixCursor {
package = pkgs.numix-cursor-theme;
name = "Numix-Cursor";
})
];
home.packages = with pkgs;
builtins.concatLists [
[
# gnome.gnome-session # Allow to start gnome from tty (sadly this is not usable, many things don't work)
gnome.gnome-boxes # VM
# gnome.sushi # Gnome files previews (use service, has to be added to dbus packages)
gnome.gnome-logs # systemd log viewer
gnome.gnome-tweaks # conflicts with nixos/hm gnome settings file sometimes, watch out what settings to change
gnome.gnome-nettool
gnome.simple-scan
gnome.gnome-sound-recorder
gnome.file-roller # archive manager
# gnome.dconf-editor
dconf-editor-wrapped # Sets XDG_DATA_DIRS to include all gsettings-schemas
gsettings-desktop-schemas
# gnome-usage # Alternative system performance monitor (gnome.gnome-system-monitor is the preinstalled one)
# gnome-secrets # Alternative keepass database viewer
gnome-firmware
]
(optionals cfg.extensions [
gnomeExtensions.appindicator
gnomeExtensions.auto-activities
gnomeExtensions.blur-my-shell
gnomeExtensions.custom-hot-corners-extended
gnomeExtensions.extensions-sync
gnomeExtensions.gamemode
gnomeExtensions.launch-new-instance
gnomeExtensions.maximize-to-empty-workspace
gnomeExtensions.no-overview
gnomeExtensions.pip-on-top
gnomeExtensions.rounded-window-corners
gnomeExtensions.sound-output-device-chooser
gnomeExtensions.tweaks-in-system-menu
gnomeExtensions.vitals
])
];
# TODO: Check what gnome-tweaks sets
dconf.settings = with lib.hm.gvariant; {
# TODO: Connect with audio.easyeffects settings
"com/github/wwmm/easyeffects" = {
process-all-inputs = true;
process-all-outputs = true;
shutdown-on-window-close = false;
};
"com/github/wwmm/easyeffects/spectrum" = {
show = false;
};
"org/gnome/boxes" = {
view = "list-view";
};
"org/gnome/calculator" = {
accuracy = 2;
angle-units = "radians";
base = 10;
button-mode = "programming";
number-format = "scientific";
show-thousands = true;
show-zeroes = false;
word-size = 64;
};
"org/gnome/desktop/background" = {
color-shading-type = "solid";
picture-options = "zoom";
picture-uri = "file://${config.home.homeDirectory}/NixFlake/config/wallpaper/${cfg.theme.wallpaper}.jpg";
picture-uri-dark = "file://${config.home.homeDirectory}/NixFlake/config/wallpaper/${cfg.theme.wallpaper}.jpg";
};
"org/gnome/desktop/calendar" = {
show-weekdate = true;
};
"org/gnome/desktop/datetime" = {
automatic-timezone = true;
};
"org/gnome/desktop/file-sharing" = {
require-password = "never";
};
"org/gnome/desktop/interface" = {
clock-format = "24h";
clock-show-date = true;
clock-show-seconds = false;
clock-show-weekday = true;
# cursor-size, cursor-theme set by home-manager
document-font-name = "Source Han Sans 11";
enable-hot-corners = false; # TODO: Make dependent on if extended hot corners extension is installed
font-antialiasing = "grayscale";
font-hinting = "slight";
font-name = "Source Han Sans 11";
# gtk-theme, icon-theme set by home-manager
monospace-font-name = "Source Han Mono 10";
};
"org/gnome/desktop/peripherals/touchpad" = {
middle-click-emulation = true;
# TODO: Check natural-scroll (I can't remember which is which)
two-finger-scrolling-enabled = true;
};
"org/gnome/desktop/privacy" = {
old-files-age = 7;
recent-files-max-age = 7;
remove-old-temp-files = true;
remove-old-trash-files = true;
report-technical-problems = false;
send-software-usage-stats = false;
};
"org/gnome/desktop/screensaver" = {
color-shading-type = "solid";
picture-options = "zoom";
picture-uri = "file://${config.home.homeDirectory}/NixFlake/config/wallpaper/${cfg.theme.wallpaper}.jpg";
};
# TODO: "org/gnome/desktop/wm/keybindings" = {};
"org/gnome/desktop/wm/preferences" = {
action-middle-click-titlebar = "toggle-shade";
button-layout = "appmenu:minimize,maximize,close";
focus-mode = "click";
mouse-button-modifier = "<Alt>";
resize-with-right-button = true;
# theme set by home-manager
titlebar-font = "Source Han Sans Bold 11";
};
# TODO: Revisit after Gnome 43 update
"org/gnome/epiphany" = {
ask-for-default = false;
default-search-engine = "Google";
homepage-url = "about:newtab";
use-google-search-suggestions = true;
};
"org/gnome/epiphany/web" = {
remember-passwords = false;
};
"org/gnome/mutter" = {
attach-modal-dialogs = true;
dynamic-workspaces = true;
edge-tiling = true;
experimental-features = [
"autoclose-xwayland"
"rt-scheduler"
"scale-monitor-framebuffer"
];
};
"org/gnome/nautilus/icon-view" = {
captions = ["size" "date_modified" "none"];
default-zoom-level = "larger";
};
"org/gnome/nautilus/list-view" = {
use-tree-view = true;
};
"org/gnome/nautilus/preferences" = {
always-use-locateion-entry = true;
click-policy = "double";
default-folder-viewer = "list-view";
search-view = "list-view";
show-create-link = true;
show-delete-permanently = true;
};
"org/gnome/settings-daemon/plugins/color" = {
night-light-enabled = true;
night-light-temperature = 4700;
};
"org/gnome/settings-daemon/plugins/power" = {
power-button-action = "interactive";
sleep-inactive-ac-type = "nothing";
};
"org/gnome/shell" = {
always-show-log-out = true;
disable-user-extensions = false;
disabled-extensions = [
"native-window-placement@gnome-shell-extensions.gcampax.github.com"
"auto-move-windows@gnome-shell-extensions.gcampax.github.com"
"places-menu@gnome-shell-extensions.gcampax.github.com"
"apps-menu@gnome-shell-extensions.gcampax.github.com"
"drive-menu@gnome-shell-extensions.gcampax.github.com"
"user-theme@gnome-shell-extensions.gcampax.github.com"
];
enabled-extensions = with pkgs;
builtins.concatLists [
[
"workspace-indicator@gnome-shell-extensions.gcampax.github.com"
]
(optionals cfg.extensions [
gnomeExtensions.appindicator.extensionUuid
gnomeExtensions.auto-activities.extensionUuid
gnomeExtensions.blur-my-shell.extensionUuid
gnomeExtensions.custom-hot-corners-extended.extensionUuid
gnomeExtensions.extensions-sync.extensionUuid
gnomeExtensions.gamemode.extensionUuid
gnomeExtensions.launch-new-instance.extensionUuid
gnomeExtensions.maximize-to-empty-workspace.extensionUuid
gnomeExtensions.no-overview.extensionUuid
gnomeExtensions.pip-on-top.extensionUuid
gnomeExtensions.rounded-window-corners.extensionUuid
gnomeExtensions.sound-output-device-chooser.extensionUuid
gnomeExtensions.tweaks-in-system-menu.extensionUuid
gnomeExtensions.vitals.extensionUuid
])
];
};
"org/gnome/shell/app-switcher" = {
current-workspace-only = true;
};
"org/gnome/shell/extensions/blur-my-shell" = {
brightness = 0.5;
noise-amount = 0;
sigma = 15;
};
"org/gnome/shell/extensions/blur-my-shell/dash-to-dock" = {
blur = true;
};
"org/gnome/shell/extensions/blur-my-shell/panel" = {
blur = true;
customize = false;
unblur-dynamically = true;
};
"org/gnome/shell/extensions/custom-hot-corners-extended/monitor-0-top-left-0" = {
action = "toggle-overview";
};
"org/gnome/shell/extensions/extension-sync" = {
github-gist-id = "e6054442efa04732fe9998cb1b8fb53c";
};
"org/gnome/shell/extensions/vitals" = {
fixed-widths = true;
hide-icons = false;
hide-zeros = false;
hot-sensors = ["__network-rx_max__"];
position-in-panel = 2;
show-battery = false;
show-fan = false;
show-storage = false;
show-voltage = false;
use-higher-precision = false;
};
# TODO: "org/gnome/shell/keybindings" = {};
# NOTE: Some duplicates from mutter
"org/gnome/shell/overrides" = {
attach-modal-dialogs = true;
dynamic-workspaces = true;
edge-tiling = true;
};
"org/gnome/software" = {
allow-updates = true;
download-updates = false;
download-updates-notify = true;
};
"org/gnome/system/location" = {
enabled = true;
};
"org/gnome/TextEditor" = {
auto-indent = true;
custom-font = "JetBrainsMono Nerd Font Mono 11";
highlight-current-line = true;
indent-style = "space";
show-gird = false;
show-line-numbers = true;
show-map = true;
show-right-margin = false;
tab-width = 4;
use-system-font = false;
wrap-text = false;
};
"system/proxy" = {
mode = "none";
};
};
};
}

View File

@ -1,25 +0,0 @@
{
lib,
mylib,
...
}:
with lib;
with mylib.modules; {
enable = mkEnableOpt "Gnome Desktop";
# TODO: Add option for dash-to-dock
extensions = mkBoolOpt false "Enable Gnome shell-extensions";
# TODO: Add other themes, whitesur for example
theme = {
papirusIcons = mkBoolOpt false "Enable the Papirus icon theme";
numixCursor = mkBoolOpt false "Enable the Numix cursor theme";
wallpaper = mkOption {
type = types.str;
default = "constructionsite";
description = "What wallpaper to use";
};
};
settings = {
};
}

View File

@ -1,56 +0,0 @@
# TODO: Use this: https://github.com/pjones/plasma-manager
{
config,
nixosConfig,
lib,
mylib,
pkgs,
...
}:
with lib;
with mylib.modules; let
cfg = config.modules.plasma;
in {
options.modules.plasma = import ./options.nix {inherit lib mylib;};
config = mkIf cfg.enable {
assertions = [
{
assertion = nixosConfig.services.xserver.desktopManager.plasma5.enable;
message = "Can't enable Plasma module when Plasma is not enabled!";
}
];
home.packages = with pkgs; [
# libsForQt5.qt5ct # QT Configurator for unintegrated desktops
libsForQt5.ark
libsForQt5.discover
libsForQt5.dolphin
libsForQt5.dolphin-plugins
libsForQt5.ffmpegthumbs
libsForQt5.gwenview
libsForQt5.kalendar
libsForQt5.kate
libsForQt5.kcalc
libsForQt5.kcharselect
libsForQt5.kcolorpicker
libsForQt5.kdenetwork-filesharing
libsForQt5.kdegraphics-thumbnailers
libsForQt5.kfind
libsForQt5.kgpg
libsForQt5.kmail
libsForQt5.kompare # Can't be used as git merge tool, but more integrated than kdiff3
libsForQt5.ksystemlog
libsForQt5.kwallet # TODO: How does this integrate with hyprland?
libsForQt5.kwalletmanager # TODO: Same as above
libsForQt5.kwrited
libsForQt5.okular
libsForQt5.plasma-systemmonitor
libsForQt5.spectacle
libsForQt5.skanlite
];
# Autostart KRunner Daemon
home.file.".config/autostart/krunner.desktop".source = ../../config/autostart/krunner.desktop;
};
}

View File

@ -1,9 +0,0 @@
{
lib,
mylib,
...
}:
with lib;
with mylib.modules; {
enable = mkEnableOpt "Plasma Desktop";
}