Home Gen509 @ 2025-05-03-15:04 by jonas@comfy-station
This commit is contained in:
parent
9ebf6152a0
commit
31a51c89c3
@ -1,11 +1,7 @@
|
||||
{config, ...}: rec {
|
||||
imports = [
|
||||
../modules/home/borg.nix
|
||||
../modules/home/firefox.nix
|
||||
../modules/home/kdeconnect.nix
|
||||
../modules/home/ssh.nix
|
||||
../modules/home/themes/gtk
|
||||
../modules/home/themes/qt
|
||||
../modules/home/yubikey.nix
|
||||
];
|
||||
|
||||
@ -22,6 +18,12 @@
|
||||
hive.hyprland.enable = true;
|
||||
hive.kitty.enable = true;
|
||||
hive.nextcloud.enable = true;
|
||||
hive.firefox = {
|
||||
enable = true;
|
||||
plasmaIntegration = true;
|
||||
passFF = true;
|
||||
};
|
||||
hive.kdeconnect.enable = true;
|
||||
hive.ranger.enable = true;
|
||||
hive.swaync.enable = true;
|
||||
hive.waybar.enable = true;
|
||||
|
||||
@ -1,8 +1,6 @@
|
||||
{config, ...}: rec {
|
||||
imports = [
|
||||
../modules/home/borg.nix
|
||||
../modules/home/firefox.nix
|
||||
../modules/home/kdeconnect.nix
|
||||
../modules/home/ssh.nix
|
||||
../modules/home/yubikey.nix
|
||||
];
|
||||
|
||||
@ -38,5 +38,9 @@
|
||||
./home/wlogout
|
||||
./home/wofi
|
||||
./home/zsh
|
||||
./home/firefox.nix
|
||||
./home/kdeconnect.nix
|
||||
./home/plasma.nix
|
||||
./home/wallpaper.nix
|
||||
];
|
||||
}
|
||||
|
||||
@ -1,54 +1,64 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
}: let
|
||||
cfg = config.hive.firefox;
|
||||
in {
|
||||
options.hive.firefox = {
|
||||
enable = lib.mkEnableOption "Enable Firefox";
|
||||
plasmaIntegration = lib.mkEnableOption "Enable Plasma Integration";
|
||||
passFF = lib.mkEnableOption "Enable PassFF";
|
||||
};
|
||||
config = lib.mkIf cfg.enable {
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
|
||||
# Default profile
|
||||
profiles.jonas = {
|
||||
name = "Jonas";
|
||||
id = 0;
|
||||
isDefault = true;
|
||||
# Default profile
|
||||
profiles.jonas = {
|
||||
name = "Jonas";
|
||||
id = 0;
|
||||
isDefault = true;
|
||||
|
||||
# Search
|
||||
search = {
|
||||
default = "DuckDuckGo";
|
||||
order = ["DuckDuckGo" "Google"];
|
||||
force = true;
|
||||
engines = {
|
||||
"Nix Packages" = {
|
||||
urls = [
|
||||
{
|
||||
template = "https://search.nixos.org/packages";
|
||||
params = [
|
||||
{
|
||||
name = "type";
|
||||
value = "packages";
|
||||
}
|
||||
{
|
||||
name = "query";
|
||||
value = "{searchTerms}";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
# Search
|
||||
search = {
|
||||
default = "DuckDuckGo";
|
||||
order = ["DuckDuckGo" "Google"];
|
||||
force = true;
|
||||
engines = {
|
||||
"Nix Packages" = {
|
||||
urls = [
|
||||
{
|
||||
template = "https://search.nixos.org/packages";
|
||||
params = [
|
||||
{
|
||||
name = "type";
|
||||
value = "packages";
|
||||
}
|
||||
{
|
||||
name = "query";
|
||||
value = "{searchTerms}";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Extensions
|
||||
extensions = with inputs.firefox-addons.packages."x86_64-linux"; [
|
||||
ublock-origin
|
||||
violentmonkey
|
||||
plasma-integration
|
||||
passff
|
||||
];
|
||||
# Extensions
|
||||
extensions = with inputs.firefox-addons.packages."x86_64-linux"; ([
|
||||
ublock-origin
|
||||
violentmonkey
|
||||
]
|
||||
++ lib.optional cfg.plasmaIntegration plasma-integration
|
||||
++ lib.optional cfg.passFF passff);
|
||||
};
|
||||
};
|
||||
home.packages =
|
||||
lib.optional cfg.passFF
|
||||
pkgs.passff-host;
|
||||
};
|
||||
home.packages = with pkgs; [
|
||||
passff-host
|
||||
];
|
||||
}
|
||||
|
||||
@ -1,4 +1,15 @@
|
||||
{...}: {
|
||||
services.kdeconnect.enable = true;
|
||||
services.kdeconnect.indicator = false;
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
cfg = config.hive.kdeconnect;
|
||||
in {
|
||||
options.hive.kdeconnect = {
|
||||
enable = lib.mkEnableOption "Enable KDE Connect";
|
||||
};
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.kdeconnect.enable = true;
|
||||
services.kdeconnect.indicator = false;
|
||||
};
|
||||
}
|
||||
|
||||
@ -1,141 +1,167 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
home.file.".local/share/wallpaper" = {
|
||||
source = ./static/wallpaper;
|
||||
recursive = true;
|
||||
};
|
||||
# load hm-vars in x-session
|
||||
xsession.enable = true;
|
||||
}: let
|
||||
cfg = config.hive.plasma;
|
||||
in {
|
||||
options.hive.plasma.enable = lib.mkEnableOption "Plasma configuration";
|
||||
|
||||
# Use kvantum-theme
|
||||
home.sessionVariables = {
|
||||
QT_STYLE_OVERRIDE = "kvantum";
|
||||
};
|
||||
config = lib.mkIf cfg.enable {
|
||||
# load hm-vars in x-session
|
||||
xsession.enable = true;
|
||||
|
||||
programs.konsole = {
|
||||
enable = true;
|
||||
defaultProfile = "default";
|
||||
profiles = {
|
||||
default = {
|
||||
name = "default";
|
||||
colorScheme = "Utterly-Nord-Konsole";
|
||||
font = {
|
||||
name = "Fira Code";
|
||||
size = 10;
|
||||
# Use kvantum-theme
|
||||
home.sessionVariables = {
|
||||
QT_STYLE_OVERRIDE = "kvantum";
|
||||
};
|
||||
|
||||
# provide kvantum and nord theme
|
||||
home.packages = [
|
||||
pkgs.utterly-nord-plasma
|
||||
pkgs.libsForQt5.qtstyleplugin-kvantum
|
||||
];
|
||||
|
||||
programs.konsole = {
|
||||
enable = true;
|
||||
defaultProfile = "default";
|
||||
profiles = {
|
||||
default = {
|
||||
name = "default";
|
||||
colorScheme = "Utterly-Nord-Konsole";
|
||||
font = {
|
||||
name = "Fira Code";
|
||||
size = 10;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# use kvantum theme
|
||||
qt.enable = true;
|
||||
qt.style.name = "kvantum";
|
||||
|
||||
# add nord like gtk theme
|
||||
gtk = {
|
||||
enable = true;
|
||||
cursorTheme = {
|
||||
package = pkgs.nordzy-cursor-theme;
|
||||
name = "Nordzy-cursors";
|
||||
};
|
||||
theme = {
|
||||
package = pkgs.nordic;
|
||||
name = "Nordic";
|
||||
};
|
||||
iconTheme = {
|
||||
package = pkgs.tela-circle-icon-theme;
|
||||
name = "Tela-circle-nord";
|
||||
};
|
||||
};
|
||||
|
||||
programs.plasma = {
|
||||
enable = true;
|
||||
overrideConfig = true;
|
||||
|
||||
#
|
||||
# Some high-level settings:
|
||||
#
|
||||
workspace = {
|
||||
clickItemTo = "select";
|
||||
lookAndFeel = "Utterly-Nord";
|
||||
theme = "breeze";
|
||||
colorScheme = "UtterlyNord";
|
||||
cursorTheme = "Breeze";
|
||||
wallpaper = "/home/jonas/.local/share/wallpaper/nord.png";
|
||||
};
|
||||
|
||||
hotkeys.commands."launch-konsole" = {
|
||||
name = "Launch Konsole";
|
||||
key = "Meta+Return";
|
||||
command = "konsole";
|
||||
};
|
||||
|
||||
panels = [
|
||||
# Windows-like panel at the bottom
|
||||
{
|
||||
location = "bottom";
|
||||
widgets = [
|
||||
"org.kde.plasma.kickoff"
|
||||
"org.kde.plasma.pager"
|
||||
# We can also configure the widgets. For example if you want to pin
|
||||
# konsole and dolphin to the task-launcher the following widget will
|
||||
# have that.
|
||||
{
|
||||
name = "org.kde.plasma.icontasks";
|
||||
config = {
|
||||
General.launchers = [
|
||||
"applications:org.kde.dolphin.desktop"
|
||||
"applications:org.kde.konsole.desktop"
|
||||
];
|
||||
};
|
||||
}
|
||||
"org.kde.plasma.marginsseperator"
|
||||
"org.kde.plasma.systemtray"
|
||||
"org.kde.plasma.digitalclock"
|
||||
];
|
||||
hiding = null;
|
||||
}
|
||||
];
|
||||
|
||||
#
|
||||
# Some mid-level settings:
|
||||
#
|
||||
shortcuts = {
|
||||
ksmserver = {
|
||||
"Lock Session" = ["Screensaver" "Meta+Ctrl+Alt+L"];
|
||||
};
|
||||
|
||||
kwin =
|
||||
{
|
||||
"Expose" = "Meta+,";
|
||||
"Switch Window Down" = "Meta+J";
|
||||
"Switch Window Left" = "Meta+H";
|
||||
"Switch Window Right" = "Meta+L";
|
||||
"Switch Window Up" = "Meta+K";
|
||||
"Window Quick Tile Bottom" = "Meta+Shift+J";
|
||||
"Window Quick Tile Left" = "Meta+Shift+H";
|
||||
"Window Quick Tile Right" = "Meta+Shift+L";
|
||||
"Window Quick Tile Top" = "Meta+Shift+K";
|
||||
"Kill Window" = "Meta+Alt+Q";
|
||||
"Window Close" = "Meta+Shift+Q";
|
||||
}
|
||||
// (
|
||||
with lib; let
|
||||
desktops = map toString (lists.range 1 8);
|
||||
in
|
||||
listToAttrs
|
||||
(map
|
||||
(i: {
|
||||
name = "Switch to Desktop ${i}";
|
||||
value = "Meta+${i}";
|
||||
})
|
||||
desktops)
|
||||
// listToAttrs (map
|
||||
(i: {
|
||||
name = "Window to Desktop ${i}";
|
||||
value = "Meta+Shift+${i}";
|
||||
})
|
||||
desktops)
|
||||
);
|
||||
};
|
||||
|
||||
#
|
||||
# Some low-level settings:
|
||||
#
|
||||
configFile = {
|
||||
"baloofilerc"."Basic Settings"."Indexing-Enabled".value = false;
|
||||
"kwinrc"."org.kde.kdecoration2"."ButtonsOnLeft".value = "SF";
|
||||
"kwinrc"."Desktops"."Number" = {
|
||||
value = 8;
|
||||
# Forces kde to not change this value (even through the settings app).
|
||||
immutable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# use kvantum theme
|
||||
qt.enable = true;
|
||||
qt.style.name = "kvantum";
|
||||
|
||||
programs.plasma = {
|
||||
enable = true;
|
||||
overrideConfig = true;
|
||||
|
||||
#
|
||||
# Some high-level settings:
|
||||
#
|
||||
workspace = {
|
||||
clickItemTo = "select";
|
||||
lookAndFeel = "Utterly-Nord";
|
||||
theme = "breeze";
|
||||
colorScheme = "UtterlyNord";
|
||||
cursorTheme = "Breeze";
|
||||
wallpaper = "/home/jonas/.local/share/wallpaper/nord.png";
|
||||
};
|
||||
|
||||
hotkeys.commands."launch-konsole" = {
|
||||
name = "Launch Konsole";
|
||||
key = "Meta+Return";
|
||||
command = "konsole";
|
||||
};
|
||||
|
||||
panels = [
|
||||
# Windows-like panel at the bottom
|
||||
{
|
||||
location = "bottom";
|
||||
widgets = [
|
||||
"org.kde.plasma.kickoff"
|
||||
"org.kde.plasma.pager"
|
||||
# We can also configure the widgets. For example if you want to pin
|
||||
# konsole and dolphin to the task-launcher the following widget will
|
||||
# have that.
|
||||
{
|
||||
name = "org.kde.plasma.icontasks";
|
||||
config = {
|
||||
General.launchers = [
|
||||
"applications:org.kde.dolphin.desktop"
|
||||
"applications:org.kde.konsole.desktop"
|
||||
];
|
||||
};
|
||||
}
|
||||
"org.kde.plasma.marginsseperator"
|
||||
"org.kde.plasma.systemtray"
|
||||
"org.kde.plasma.digitalclock"
|
||||
];
|
||||
hiding = null;
|
||||
}
|
||||
];
|
||||
|
||||
#
|
||||
# Some mid-level settings:
|
||||
#
|
||||
shortcuts = {
|
||||
ksmserver = {
|
||||
"Lock Session" = ["Screensaver" "Meta+Ctrl+Alt+L"];
|
||||
};
|
||||
|
||||
kwin =
|
||||
{
|
||||
"Expose" = "Meta+,";
|
||||
"Switch Window Down" = "Meta+J";
|
||||
"Switch Window Left" = "Meta+H";
|
||||
"Switch Window Right" = "Meta+L";
|
||||
"Switch Window Up" = "Meta+K";
|
||||
"Window Quick Tile Bottom" = "Meta+Shift+J";
|
||||
"Window Quick Tile Left" = "Meta+Shift+H";
|
||||
"Window Quick Tile Right" = "Meta+Shift+L";
|
||||
"Window Quick Tile Top" = "Meta+Shift+K";
|
||||
"Kill Window" = "Meta+Alt+Q";
|
||||
"Window Close" = "Meta+Shift+Q";
|
||||
}
|
||||
// (
|
||||
with lib; let
|
||||
desktops = map toString (lists.range 1 8);
|
||||
in
|
||||
listToAttrs
|
||||
(map
|
||||
(i: {
|
||||
name = "Switch to Desktop ${i}";
|
||||
value = "Meta+${i}";
|
||||
})
|
||||
desktops)
|
||||
// listToAttrs (map
|
||||
(i: {
|
||||
name = "Window to Desktop ${i}";
|
||||
value = "Meta+Shift+${i}";
|
||||
})
|
||||
desktops)
|
||||
);
|
||||
};
|
||||
|
||||
#
|
||||
# Some low-level settings:
|
||||
#
|
||||
configFile = {
|
||||
"baloofilerc"."Basic Settings"."Indexing-Enabled".value = false;
|
||||
"kwinrc"."org.kde.kdecoration2"."ButtonsOnLeft".value = "SF";
|
||||
"kwinrc"."Desktops"."Number" = {
|
||||
value = 8;
|
||||
# Forces kde to not change this value (even through the settings app).
|
||||
immutable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
16
modules/home/wallpaper.nix
Normal file
16
modules/home/wallpaper.nix
Normal file
@ -0,0 +1,16 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
cfg = config.hive.wallpaper;
|
||||
in {
|
||||
options.hive.wallpaper.enable = lib.mkEnableOption "Wallpaper symlink";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
home.file.".local/share/wallpaper" = {
|
||||
source = ./static/wallpaper;
|
||||
recursive = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user