Compare commits
No commits in common. "7e9e65c4c85695cafa83a04a16dac997e713b704" and "5277f5f6834d710798702c718f8f4124170b0782" have entirely different histories.
7e9e65c4c8
...
5277f5f683
14 changed files with 72 additions and 160 deletions
|
@ -22,5 +22,5 @@ each host should have these files:
|
||||||
- divide steam and gamemode?
|
- divide steam and gamemode?
|
||||||
- laptop specific configuration (power profiles daemon, battery, etc)
|
- laptop specific configuration (power profiles daemon, battery, etc)
|
||||||
- sddm cursors no work :(
|
- sddm cursors no work :(
|
||||||
- sddm x11 support, too. or maybe just remove x11
|
- try out the [new sddm options](https://search.nixos.org/options?channel=unstable&from=0&size=50&sort=relevance&type=packages&query=sddm)
|
||||||
- gnome keyring / gcr for saving passwords
|
- gnome keyring / gcr for saving passwords
|
|
@ -1,54 +1,53 @@
|
||||||
# https://github.com/catppuccin/dunst/blob/main/src/mocha.conf
|
# https://github.com/catppuccin/dunst/blob/main/src/mocha.conf
|
||||||
[global]
|
[global]
|
||||||
frame_color = "#89B4FA"
|
frame_color = "#89B4FA"
|
||||||
separator_color= frame
|
separator_color= frame
|
||||||
|
|
||||||
follow = "mouse"
|
follow = "mouse"
|
||||||
width = 300
|
width = 300
|
||||||
height = 145
|
height = 145
|
||||||
origin = top-right
|
origin = top-right
|
||||||
alignment = "left"
|
alignment = "left"
|
||||||
vertical_alignment = "center"
|
vertical_alignment = "center"
|
||||||
ellipsize = "middle"
|
ellipsize = "middle"
|
||||||
offset = "15x15"
|
offset = "15x15"
|
||||||
padding = 15
|
padding = 15
|
||||||
horizontal_padding = 15
|
horizontal_padding = 15
|
||||||
text_icon_padding = 15
|
text_icon_padding = 15
|
||||||
icon_position = "left"
|
icon_position = "left"
|
||||||
min_icon_size = 48
|
min_icon_size = 48
|
||||||
max_icon_size = 64
|
max_icon_size = 64
|
||||||
progress_bar = true
|
progress_bar = true
|
||||||
progress_bar_height = 8
|
progress_bar_height = 8
|
||||||
progress_bar_frame_width = 1
|
progress_bar_frame_width = 1
|
||||||
progress_bar_min_width = 150
|
progress_bar_min_width = 150
|
||||||
progress_bar_max_width = 300
|
progress_bar_max_width = 300
|
||||||
separator_height = 2
|
separator_height = 2
|
||||||
frame_width = 2
|
frame_width = 2
|
||||||
corner_radius = 8
|
corner_radius = 8
|
||||||
transparency = 0
|
transparency = 0
|
||||||
gap_size = 8
|
gap_size = 8
|
||||||
line_height = 0
|
line_height = 0
|
||||||
notification_limit = 0
|
notification_limit = 0
|
||||||
idle_threshold = 120
|
idle_threshold = 120
|
||||||
history_length = 20
|
history_length = 20
|
||||||
show_age_threshold = 60
|
show_age_threshold = 60
|
||||||
markup = "full"
|
markup = "full"
|
||||||
format = "<b>%a</b>\n<b>%s</b>\n%b"
|
font = "Atkinson Hyperlegible Pro 10"
|
||||||
font = "Atkinson Hyperlegible Pro 11"
|
word_wrap = "yes"
|
||||||
word_wrap = "yes"
|
sort = "yes"
|
||||||
sort = "yes"
|
shrink = "no"
|
||||||
shrink = "no"
|
indicate_hidden = "yes"
|
||||||
indicate_hidden = "yes"
|
sticky_history = "yes"
|
||||||
sticky_history = "yes"
|
ignore_newline = "no"
|
||||||
ignore_newline = "no"
|
show_indicators = "no"
|
||||||
show_indicators = "no"
|
stack_duplicates = true
|
||||||
stack_duplicates = true
|
always_run_script = true
|
||||||
always_run_script = true
|
hide_duplicate_count = false
|
||||||
hide_duplicate_count = false
|
ignore_dbusclose = false
|
||||||
ignore_dbusclose = false
|
mouse_left_click = "do_action"
|
||||||
mouse_left_click = "do_action"
|
mouse_middle_click = "close_all"
|
||||||
mouse_middle_click = "close_all"
|
mouse_right_click = "close_current"
|
||||||
mouse_right_click = "close_current"
|
|
||||||
|
|
||||||
[urgency_low]
|
[urgency_low]
|
||||||
background = "#1E1E2E"
|
background = "#1E1E2E"
|
||||||
|
|
|
@ -79,30 +79,6 @@ window#waybar.floating #window {
|
||||||
color: @lavender;
|
color: @lavender;
|
||||||
}
|
}
|
||||||
|
|
||||||
#power-profiles-daemon {
|
|
||||||
color: @teal;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery {
|
|
||||||
color: @green;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.charging {
|
|
||||||
color: @green;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.warning:not(.charging) {
|
|
||||||
color: @peach;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.critical:not(.charging) {
|
|
||||||
color: @maroon;
|
|
||||||
}
|
|
||||||
|
|
||||||
#network {
|
|
||||||
color: @sapphire;
|
|
||||||
}
|
|
||||||
|
|
||||||
#pulseaudio {
|
#pulseaudio {
|
||||||
color: @pink;
|
color: @pink;
|
||||||
}
|
}
|
||||||
|
|
|
@ -85,4 +85,5 @@ in {
|
||||||
xdg-utils
|
xdg-utils
|
||||||
git
|
git
|
||||||
];
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
6
flake.lock
generated
6
flake.lock
generated
|
@ -487,11 +487,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_7": {
|
"nixpkgs_7": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1715266358,
|
"lastModified": 1711523803,
|
||||||
"narHash": "sha256-doPgfj+7FFe9rfzWo1siAV2mVCasW+Bh8I1cToAXEE4=",
|
"narHash": "sha256-UKcYiHWHQynzj6CN/vTcix4yd1eCu1uFdsuarupdCQQ=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "f1010e0469db743d14519a1efd37e23f8513d714",
|
"rev": "2726f127c15a4cc9810843b96cad73c7eb39e443",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -40,7 +40,6 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
desktop = {
|
desktop = {
|
||||||
# sets magical variables; use `x11` or `wayland`
|
|
||||||
envProto = "wayland";
|
envProto = "wayland";
|
||||||
|
|
||||||
hyprland.enable = true;
|
hyprland.enable = true;
|
||||||
|
@ -49,16 +48,13 @@
|
||||||
hyprpaper.enable = true;
|
hyprpaper.enable = true;
|
||||||
|
|
||||||
polkit-gnome.enable = true;
|
polkit-gnome.enable = true;
|
||||||
gnome-keyring.enable = true;
|
|
||||||
dunst.enable = true;
|
dunst.enable = true;
|
||||||
rofi.enable = true;
|
rofi.enable = true;
|
||||||
nwg-drawer.enable = true;
|
nwg-drawer.enable = true;
|
||||||
waybar.enable = true;
|
waybar.enable = true;
|
||||||
|
|
||||||
# login manager
|
|
||||||
sddm.enable = true;
|
sddm.enable = true;
|
||||||
|
|
||||||
# set active theme, see `modules/desktop/themes`
|
|
||||||
themes.active = "catppuccin";
|
themes.active = "catppuccin";
|
||||||
};
|
};
|
||||||
software = {
|
software = {
|
||||||
|
|
|
@ -21,15 +21,8 @@
|
||||||
efi.canTouchEfiVariables = true;
|
efi.canTouchEfiVariables = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# support power features such as suspend to ram
|
|
||||||
powerManagement.enable = true;
|
|
||||||
# tune power saving options on boot
|
|
||||||
# todo: fix usb mice and keyboards from suspending
|
|
||||||
#powerManagement.powertop.enable = true;
|
|
||||||
# thermald proactively prevents overheating on intel CPUs and works well with other tools
|
# thermald proactively prevents overheating on intel CPUs and works well with other tools
|
||||||
services.thermald.enable = true;
|
services.thermald.enable = true;
|
||||||
# power-profile-daemon for power management
|
|
||||||
services.power-profiles-daemon.enable = true;
|
|
||||||
|
|
||||||
# nvidia driver
|
# nvidia driver
|
||||||
services.xserver.videoDrivers = [ "nvidia" ];
|
services.xserver.videoDrivers = [ "nvidia" ];
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
{ lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.modules.desktop.gnome-keyring;
|
|
||||||
in {
|
|
||||||
options.modules.desktop.gnome-keyring = {
|
|
||||||
enable = mkEnableOption "Enable gnome-keyring, a lightweight keyring with git, gpg, and ssh integration";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
services.gnome.gnome-keyring.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -20,7 +20,7 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
services.displayManager.sessionPackages = [ cfg.package ];
|
services.xserver.displayManager.sessionPackages = [ cfg.package ];
|
||||||
xdg.portal = {
|
xdg.portal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraPortals = [ pkgs.xdg-desktop-portal-gtk cfg.portalPackage ];
|
extraPortals = [ pkgs.xdg-desktop-portal-gtk cfg.portalPackage ];
|
||||||
|
@ -53,11 +53,6 @@ in {
|
||||||
bindl = [ # "bind locked"
|
bindl = [ # "bind locked"
|
||||||
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
||||||
", XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
|
", XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
|
||||||
|
|
||||||
", XF86AudioPlay, exec, ${lib.getExe pkgs.playerctl} play-pause"
|
|
||||||
", XF86AudioStop, exec, ${lib.getExe pkgs.playerctl} stop"
|
|
||||||
", XF86AudioPrev, exec, ${lib.getExe pkgs.playerctl} previous"
|
|
||||||
", XF86AudioNext, exec, ${lib.getExe pkgs.playerctl} next"
|
|
||||||
];
|
];
|
||||||
bindr = [ # "bind released"
|
bindr = [ # "bind released"
|
||||||
"SUPER, Super_L, exec, ${lib.getExe pkgs.nwg-drawer}"
|
"SUPER, Super_L, exec, ${lib.getExe pkgs.nwg-drawer}"
|
||||||
|
@ -131,23 +126,17 @@ in {
|
||||||
|
|
||||||
windowrulev2 = [
|
windowrulev2 = [
|
||||||
# common popups
|
# common popups
|
||||||
"float, class:org.gnome.FileRoller"
|
"float, class:file-roller"
|
||||||
"center, class:org.gnome.FileRoller"
|
"size 1100 730, class:file-roller"
|
||||||
"size 1100 730, class:org.gnome.FileRoller"
|
|
||||||
"float, class:org.gnome.Loupe"
|
"float, class:org.gnome.Loupe"
|
||||||
"center, class:org.gnome.Loupe"
|
|
||||||
"size 1100 730, class:org.gnome.Loupe"
|
"size 1100 730, class:org.gnome.Loupe"
|
||||||
"float, initialTitle:^Open Folder$"
|
"float, initialTitle:^Open Folder$"
|
||||||
"center, initialTitle:^Open Folder$"
|
|
||||||
"size 1100 730, initialTitle:^Open Folder$"
|
"size 1100 730, initialTitle:^Open Folder$"
|
||||||
"float, initialTitle:^Open File$"
|
"float, initialTitle:^Open File$"
|
||||||
"center, initialTitle:^Open File$"
|
|
||||||
"size 1100 730, initialTitle:^Open File$"
|
"size 1100 730, initialTitle:^Open File$"
|
||||||
"float, initialTitle:^Open Files$"
|
"float, initialTitle:^Open Files$"
|
||||||
"center, initialTitle:^Open Files$"
|
|
||||||
"size 1100 730, initialTitle:^Open Files$"
|
"size 1100 730, initialTitle:^Open Files$"
|
||||||
"float, initialTitle:^Save As$"
|
"float, initialTitle:^Save As$"
|
||||||
"center, initialTitle:^Save As%"
|
|
||||||
"size 1100 730, initialTitle:^Save As$"
|
"size 1100 730, initialTitle:^Save As$"
|
||||||
|
|
||||||
"float, class:\.exe$"
|
"float, class:\.exe$"
|
||||||
|
@ -184,7 +173,7 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
drop_shadow = false;
|
drop_shadow = false;
|
||||||
#shadow_range = 4;
|
#shadow_range = 30;
|
||||||
#shadow_render_power = 3;
|
#shadow_render_power = 3;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -9,13 +9,15 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
services.xserver.enable = true; # this is needed, unfortunately!
|
||||||
|
services.xserver.excludePackages = [ pkgs.xterm ]; # prevents xterm on wayland and x
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
config.modules.desktop.themes.sddmTheme.package
|
config.modules.desktop.themes.sddmTheme.package
|
||||||
libsForQt5.qt5.qtsvg
|
libsForQt5.qt5.qtsvg
|
||||||
libsForQt5.qt5.qtgraphicaleffects
|
libsForQt5.qt5.qtgraphicaleffects
|
||||||
libsForQt5.qt5.qtquickcontrols2
|
libsForQt5.qt5.qtquickcontrols2
|
||||||
];
|
];
|
||||||
services.displayManager.sddm = {
|
services.xserver.displayManager.sddm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
wayland.enable = true;
|
wayland.enable = true;
|
||||||
theme = config.modules.desktop.themes.sddmTheme.name;
|
theme = config.modules.desktop.themes.sddmTheme.name;
|
||||||
|
|
|
@ -49,11 +49,9 @@ in {
|
||||||
orientation = "inherit";
|
orientation = "inherit";
|
||||||
modules = [
|
modules = [
|
||||||
"pulseaudio"
|
"pulseaudio"
|
||||||
#"network"
|
|
||||||
"cpu"
|
"cpu"
|
||||||
"memory"
|
"memory"
|
||||||
"power-profiles-daemon"
|
#"network"
|
||||||
"battery"
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
"group/power" = {
|
"group/power" = {
|
||||||
|
@ -141,17 +139,6 @@ in {
|
||||||
};
|
};
|
||||||
separate-outputs = true;
|
separate-outputs = true;
|
||||||
};
|
};
|
||||||
#network = {
|
|
||||||
# format = "";
|
|
||||||
# format-ethernet = "";
|
|
||||||
# format-wifi = " {signalStrength}%";
|
|
||||||
# format-disconnected = "";
|
|
||||||
# tooltip-format = "{ifname} via {gwaddr}";
|
|
||||||
# tooltip-format-wifi = "connected to {essid}";
|
|
||||||
# tooltip-format-ethernet = "{ifname}";
|
|
||||||
# tooltip-format-disconnected = "Disconnected";
|
|
||||||
# on-click = "${pkgs.networkmanagerapplet}/bin/nm-connection-editor";
|
|
||||||
#};
|
|
||||||
pulseaudio = {
|
pulseaudio = {
|
||||||
format = "{icon} {volume}%";
|
format = "{icon} {volume}%";
|
||||||
format-bluetooth = "{icon} {volume}%";
|
format-bluetooth = "{icon} {volume}%";
|
||||||
|
@ -178,31 +165,17 @@ in {
|
||||||
format = " {percentage}%";
|
format = " {percentage}%";
|
||||||
tooltip-format = "{used:0.1f}GiB/{avail:0.1f}GiB used\n{swapUsed:0.1f}GiB/{swapAvail:0.1f}GiB swap";
|
tooltip-format = "{used:0.1f}GiB/{avail:0.1f}GiB used\n{swapUsed:0.1f}GiB/{swapAvail:0.1f}GiB swap";
|
||||||
};
|
};
|
||||||
power-profiles-daemon = {
|
"network" = {
|
||||||
format = "{icon}";
|
format = "";
|
||||||
tooltip-format = "Power profile: {profile}\nDriver: {driver}";
|
format-ethernet = "";
|
||||||
tooltip = true;
|
format-wifi = " {signalStrength}%";
|
||||||
format-icons = {
|
format-disconnected = "";
|
||||||
default = "";
|
tooltip-format = "{ifname} via {gwaddr}";
|
||||||
performance = " perf";
|
tooltip-format-wifi = "connected to {essid}";
|
||||||
balanced = " balance";
|
tooltip-format-ethernet = "{ifname}";
|
||||||
power-saver = " save";
|
tooltip-format-disconnected = "Disconnected";
|
||||||
};
|
|
||||||
};
|
};
|
||||||
battery = {
|
"clock" = {
|
||||||
interval = 30;
|
|
||||||
states = {
|
|
||||||
warning = 20;
|
|
||||||
critical = 10;
|
|
||||||
};
|
|
||||||
full-at = 98;
|
|
||||||
format = "{icon} {capacity}%";
|
|
||||||
format-icons = ["" "" "" "" ""];
|
|
||||||
format-critical = " {capacity}%";
|
|
||||||
tooltip-format = "{timeTo} ({power}W)";
|
|
||||||
format-charging = " {capacity}%";
|
|
||||||
};
|
|
||||||
clock = {
|
|
||||||
format = "{:%H:%M}";
|
format = "{:%H:%M}";
|
||||||
format-alt = "{:%a %b %d %R}";
|
format-alt = "{:%a %b %d %R}";
|
||||||
tooltip-format = "<tt><small>{calendar}</small></tt>";
|
tooltip-format = "<tt><small>{calendar}</small></tt>";
|
||||||
|
|
|
@ -14,5 +14,6 @@ in {
|
||||||
|
|
||||||
# frontend
|
# frontend
|
||||||
services.blueman.enable = true;
|
services.blueman.enable = true;
|
||||||
|
hm.services.blueman-applet.enable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,6 @@ in {
|
||||||
|
|
||||||
"terminal.integrated.fontFamily" = "\"${monospace.family}\"";
|
"terminal.integrated.fontFamily" = "\"${monospace.family}\"";
|
||||||
"terminal.integrated.fontSize" = monospace.size;
|
"terminal.integrated.fontSize" = monospace.size;
|
||||||
"terminal.integrated.smoothScrolling" = true;
|
|
||||||
|
|
||||||
"telemetry.telemetryLevel" = "off";
|
"telemetry.telemetryLevel" = "off";
|
||||||
|
|
||||||
|
@ -45,7 +44,6 @@ in {
|
||||||
"window.titleBarStyle" = "custom";
|
"window.titleBarStyle" = "custom";
|
||||||
|
|
||||||
"workbench.tips.enabled" = false;
|
"workbench.tips.enabled" = false;
|
||||||
"workbench.list.smoothScrolling" = true;
|
|
||||||
|
|
||||||
"nix.enableLanguageServer" = true;
|
"nix.enableLanguageServer" = true;
|
||||||
"nix.serverPath" = "${lib.getExe pkgs.nil}";
|
"nix.serverPath" = "${lib.getExe pkgs.nil}";
|
||||||
|
|
|
@ -24,9 +24,7 @@ in {
|
||||||
interactiveShellInit = ''
|
interactiveShellInit = ''
|
||||||
sh ${colorScript}
|
sh ${colorScript}
|
||||||
'';
|
'';
|
||||||
functions.fish_greeting = ''
|
# TODO: add fish greeting?
|
||||||
${lib.getExe pkgs.pfetch}
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue