Compare commits

..

No commits in common. "7e9e65c4c85695cafa83a04a16dac997e713b704" and "5277f5f6834d710798702c718f8f4124170b0782" have entirely different histories.

14 changed files with 72 additions and 160 deletions

View file

@ -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

View file

@ -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"

View file

@ -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;
} }

View file

@ -85,4 +85,5 @@ in {
xdg-utils xdg-utils
git git
]; ];
} }

6
flake.lock generated
View file

@ -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": {

View file

@ -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 = {

View file

@ -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" ];

View file

@ -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;
};
}

View file

@ -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;
}; };

View file

@ -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;

View file

@ -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>";

View file

@ -14,5 +14,6 @@ in {
# frontend # frontend
services.blueman.enable = true; services.blueman.enable = true;
hm.services.blueman-applet.enable = true;
}; };
} }

View file

@ -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}";

View file

@ -24,9 +24,7 @@ in {
interactiveShellInit = '' interactiveShellInit = ''
sh ${colorScript} sh ${colorScript}
''; '';
functions.fish_greeting = '' # TODO: add fish greeting?
${lib.getExe pkgs.pfetch}
'';
}; };
}; };
} }