diff --git a/hosts/cap-nr200p/configuration.nix b/hosts/cap-nr200p/configuration.nix
index 3c8524d..187838a 100644
--- a/hosts/cap-nr200p/configuration.nix
+++ b/hosts/cap-nr200p/configuration.nix
@@ -41,6 +41,7 @@
../../modules/application-groups/pcb-design.nix
../../modules/application-groups/productivity.nix
../../modules/application-groups/programming.nix
+ ../../modules/application-groups/radio.nix
../../modules/application-groups/social.nix
../../modules/application-groups/system-utilities.nix
../../modules/application-groups/virtualization.nix
diff --git a/hosts/cap-slim7/configuration.nix b/hosts/cap-slim7/configuration.nix
index baebf46..b51a84f 100644
--- a/hosts/cap-slim7/configuration.nix
+++ b/hosts/cap-slim7/configuration.nix
@@ -37,6 +37,7 @@
../../modules/application-groups/pcb-design.nix
../../modules/application-groups/productivity.nix
../../modules/application-groups/programming.nix
+ ../../modules/application-groups/radio.nix
../../modules/application-groups/social.nix
../../modules/application-groups/system-utilities.nix
../../modules/application-groups/virtualization.nix
diff --git a/modules/application-groups/downloads.nix b/modules/application-groups/downloads.nix
index 222e4c0..39387df 100644
--- a/modules/application-groups/downloads.nix
+++ b/modules/application-groups/downloads.nix
@@ -1,6 +1,7 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
+ gallery-dl
transmission_4-qt
yt-dlp
];
diff --git a/modules/application-groups/media.nix b/modules/application-groups/media.nix
index 57263c7..8242f72 100644
--- a/modules/application-groups/media.nix
+++ b/modules/application-groups/media.nix
@@ -41,12 +41,12 @@ in {
environment.systemPackages = with pkgs; [
- audacity
- darktable
+ # aaudacity
+ # darktable
deadbeef
glava
obs-studio
- # plex-desktop --> Encountering build failures
+ plex-desktop
projectm_3
sox
spotify-player
diff --git a/modules/application-groups/pcb-design.nix b/modules/application-groups/pcb-design.nix
index 1758f81..f172cde 100644
--- a/modules/application-groups/pcb-design.nix
+++ b/modules/application-groups/pcb-design.nix
@@ -2,7 +2,7 @@
{
environment.systemPackages = with pkgs; [
kicad
- pcb2gcode
+ #pcb2gcode
];
}
diff --git a/modules/application-groups/programming.nix b/modules/application-groups/programming.nix
index 963052a..3dd3120 100644
--- a/modules/application-groups/programming.nix
+++ b/modules/application-groups/programming.nix
@@ -23,8 +23,7 @@ in {
nixfmt-rfc-style
nixos-generators
nodejs
- platformio
- python311Full
+ # platformio
python3Full
stm32cubemx
stm32flash
diff --git a/modules/application-groups/sdr.nix b/modules/application-groups/radio.nix
similarity index 93%
rename from modules/application-groups/sdr.nix
rename to modules/application-groups/radio.nix
index ae62c8c..293e965 100644
--- a/modules/application-groups/sdr.nix
+++ b/modules/application-groups/radio.nix
@@ -3,6 +3,7 @@
hardware.rtl-sdr.enable = true;
environment.systemPackages = with pkgs; [
+ chirp
soapysdr
soapyrtlsdr
];
diff --git a/modules/application-groups/social.nix b/modules/application-groups/social.nix
index 7b55cb8..3f21a3d 100644
--- a/modules/application-groups/social.nix
+++ b/modules/application-groups/social.nix
@@ -1,9 +1,8 @@
{ pkgs, ... }:
{
-
environment.systemPackages = with pkgs; [
- telegram-desktop
discord
+ slack
+ telegram-desktop
];
-
}
diff --git a/modules/applications/netextender/flake.nix b/modules/applications/netextender/flake.nix
new file mode 100644
index 0000000..06dff3a
--- /dev/null
+++ b/modules/applications/netextender/flake.nix
@@ -0,0 +1,71 @@
+# TODO: This was hacked together until it worked...Clean it up before merging
+{
+ description = "SonicWall NetExtender Flake";
+
+ outputs =
+ { self, nixpkgs, ... }:
+ let
+ systems = [ "x86_64-linux" ];
+ neVersion = "10.3.0-21";
+ neUrl = "https://software.sonicwall.com/NetExtender/NetExtender-linux-amd64-${neVersion}.tar.gz";
+
+ # ✅ Define the overlay function directly
+ overlay = final: prev: {
+ netextender = prev.stdenv.mkDerivation rec {
+ pname = "netextender";
+ version = neVersion;
+ src = prev.fetchurl {
+ url = neUrl;
+ sha256 = "sha256-pnF/KRQMAcPnTj0Ni+sKKkw+H72WHf2iYVkWsWNCndc=";
+ };
+
+ nativeBuildInputs = [
+ prev.autoPatchelfHook
+ prev.makeWrapper
+ ];
+ buildInputs = [
+ prev.openssl_3
+ prev.zlib
+ prev.gtk2
+ prev.pango
+ prev.cairo
+ prev.xorg.libX11
+ ];
+
+ unpackPhase = "tar -xzf $src";
+ installPhase = ''
+ mkdir -p $out/bin
+ BIN_CLI=$(find . -type f -iname nxcli -perm -111 | head -n1)
+ BIN_SVC=$(find . -type f -iname neservice -perm -111 | head -n1)
+ install -Dm755 "$BIN_CLI" $out/bin/nxcli
+ install -Dm755 "$BIN_SVC" $out/bin/neservice
+ ln -sf nxcli $out/bin/netextender
+ ln -sf neservice $out/bin/nxservice
+ for exe in nxcli neservice; do
+ wrapProgram $out/bin/$exe \
+ --prefix LD_LIBRARY_PATH : ${prev.lib.makeLibraryPath buildInputs}
+ done
+ '';
+ };
+ };
+ in
+ {
+ overlays = {
+ x86_64-linux = overlay;
+ };
+
+ packages = {
+ x86_64-linux =
+ let
+ pkgs = import nixpkgs {
+ system = "x86_64-linux";
+ overlays = [ overlay ];
+ };
+ in
+ {
+ default = pkgs.netextender;
+ netextender = pkgs.netextender;
+ };
+ };
+ };
+}
diff --git a/modules/system/displaylink.nix b/modules/system/displaylink.nix
index 740c98c..4d3e923 100644
--- a/modules/system/displaylink.nix
+++ b/modules/system/displaylink.nix
@@ -1,5 +1,14 @@
{ config, pkgs, ... }:
{
+ boot = {
+ extraModulePackages = [ config.boot.kernelPackages.evdi ];
+ initrd = {
+ # List of modules that are always loaded by the initrd.
+ kernelModules = [
+ "evdi"
+ ];
+ };
+ };
services.xserver.videoDrivers = [
"displaylink"
"modesetting"
diff --git a/modules/system/fonts.nix b/modules/system/fonts.nix
index 95fd68c..66640ed 100644
--- a/modules/system/fonts.nix
+++ b/modules/system/fonts.nix
@@ -1,8 +1,16 @@
{ config, pkgs, ... }:
{
fonts.fontDir.enable = true;
- fonts.fontconfig.enable = true;
- fonts.fontconfig.antialias = true;
+ fonts.fontconfig = {
+ enable = true;
+ antialias = true;
+ defaultFonts = {
+ monospace = [ "JetBrains Mono" ];
+ sansSerif = [ "JetBrains Mono" ];
+ serif = [ "JetBrains Mono" ];
+ };
+ };
+
fonts.packages = with pkgs; [
noto-fonts
noto-fonts-emoji
diff --git a/modules/system/hyprland.nix b/modules/system/hyprland.nix
index dce8d73..c449241 100644
--- a/modules/system/hyprland.nix
+++ b/modules/system/hyprland.nix
@@ -23,30 +23,26 @@
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
programs.hyprlock.enable = true;
+ programs.waybar.enable = true;
services.hypridle.enable = true;
environment.systemPackages = with pkgs; [
- waybar
- dunst
- libnotify
- rofi-wayland
- nwg-look
- nwg-displays
- slurp
- grim
arandr
- wl-clipboard
- wlogout
+ dunst
flameshot
- wofi
- swayimg
+ grim
+ hyprpaper
hyprpicker
kanshi
+ libnotify
mako
-
- (pkgs.waybar.overrideAttrs (oldAttrs: {
- mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ];
- }))
+ nwg-look
+ rofi-wayland
+ slurp
+ swayimg
+ wl-clipboard
+ wlogout
+ wofi
];
}
diff --git a/modules/system/nix-settings.nix b/modules/system/nix-settings.nix
index 707b170..c51aba9 100644
--- a/modules/system/nix-settings.nix
+++ b/modules/system/nix-settings.nix
@@ -22,10 +22,10 @@
programs.bash.shellAliases = {
# Nix rebuild, switch
- nrs = "pushd /etc/nixos && { trap 'popd' EXIT; sudo nixos-rebuild switch --flake .#$(hostname); }";
+ nrs = "bash -c \"cd /etc/nixos && sudo nixos-rebuild switch --flake .#$(hostname) ; exit\"";
# Nix flake update, rebuild, switch
- nus = "cd /etc/nixos && sudo nix flake update && sudo nixos-rebuild switch --flake .#$(hostname)";
+ nus = "bash -c \"cd /etc/nixos && sudo nix flake update && sudo nixos-rebuild switch --flake .#$(hostname) ; exit\"";
# Special cleanup, needed when efi partition runs out of space. Deletes all but the last five generations.
# Remember to make that partition bigger in the future...
diff --git a/users/caperren/caperren.nix b/users/caperren/caperren.nix
index 677c9c0..ccf4cd3 100644
--- a/users/caperren/caperren.nix
+++ b/users/caperren/caperren.nix
@@ -37,12 +37,19 @@ in
userEmail = "caperren@gmail.com";
};
+ programs.kitty = {
+ font.name = "JetBrains Mono";
+ };
+
home.file.".config/hypr/hypridle.conf".source = ./dotfiles/hypridle/hypridle.conf;
+ home.file.".config/hypr/hyprpaper.conf".source = ./dotfiles/hyprpaper/hyprpaper.conf;
+ home.file.".config/hypr/backgrounds/black.png".source = ./dotfiles/hyprpaper/black.png;
home.file.".config/hypr/hyprland-common.conf".source = ./dotfiles/hyprland/hyprland-common.conf;
home.file.".config/hypr/hyprland.conf".source = hyprlandConfigPath + "/hyprland.conf";
home.file.".config/kanshi/config".source = kanshiConfigPath + "/config";
home.file.".config/spotify-player/app.toml".text = spotifyPlayerAppTomlText;
home.file.".config/waybar/config".source = waybarConfigPath + "/config";
+ home.file.".config/waybar/style.css".source = ./dotfiles/waybar/style.css;
home.file.".config/wlogout/layout".source = ./dotfiles/wlogout/layout;
gtk = {
@@ -62,10 +69,16 @@ in
name = "Bibata-Modern-Ice";
package = pkgs.bibata-cursors;
};
+
+ font.name = "JetBrains Mono 11";
};
home.sessionVariables = {
GTK_THEME = "Adwaita-dark";
};
+
+ xresources.properties = {
+ "Xft.font" = "JetBrains Mono";
+ };
};
}
diff --git a/users/caperren/dotfiles/hyprland/hyprland-common.conf b/users/caperren/dotfiles/hyprland/hyprland-common.conf
index 516e3e0..2986797 100644
--- a/users/caperren/dotfiles/hyprland/hyprland-common.conf
+++ b/users/caperren/dotfiles/hyprland/hyprland-common.conf
@@ -165,6 +165,7 @@ bind = ,XF86MonBrightnessUp, exec, brightnessctl s +1%
exec-once = kanshi
exec-once = ydotoold
exec-once = hypridle
+exec-once = hyprpaper
exec-once = wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 10%
diff --git a/users/caperren/dotfiles/hyprpaper/black.png b/users/caperren/dotfiles/hyprpaper/black.png
new file mode 100644
index 0000000..49c36a9
Binary files /dev/null and b/users/caperren/dotfiles/hyprpaper/black.png differ
diff --git a/users/caperren/dotfiles/hyprpaper/hyprpaper.conf b/users/caperren/dotfiles/hyprpaper/hyprpaper.conf
new file mode 100644
index 0000000..e33deb2
--- /dev/null
+++ b/users/caperren/dotfiles/hyprpaper/hyprpaper.conf
@@ -0,0 +1,5 @@
+preload = ~/.config/hypr/backgrounds/black.png
+wallpaper = ,~/.config/hypr/backgrounds/black.png
+
+ipc = off
+splash = false
\ No newline at end of file
diff --git a/users/caperren/dotfiles/waybar/cap-nr200p/config b/users/caperren/dotfiles/waybar/cap-nr200p/config
index cf95c60..561401a 100644
--- a/users/caperren/dotfiles/waybar/cap-nr200p/config
+++ b/users/caperren/dotfiles/waybar/cap-nr200p/config
@@ -2,25 +2,28 @@
"layer": "top",
"position": "top",
"modules-left": [
- "custom/logo",
+// "custom/logo",
"clock",
+ "temperature",
"disk",
"memory",
- "cpu",
- "hyprland/window"
+ "cpu"
],
"modules-center": [
+ "hyprland/window",
"hyprland/workspaces"
],
"modules-right": [
"tray",
"idle_inhibitor",
"pulseaudio",
+ "battery",
+ "backlight",
"custom/exit"
],
"reload_style_on_change": true,
"custom/logo": {
- "format": "",
+ "format": "",
"tooltip": false
},
"hyprland/workspaces": {
@@ -38,8 +41,51 @@
"9": "9"
}
},
+ "backlight": {
+ "device": "intel_backlight",
+ "format": "{percent}% {icon}",
+ "format-icons": [
+ "",
+ ""
+ ]
+ },
+ "battery": {
+ "bat": "BAT0",
+ "adapter": "AC",
+ "interval": 10,
+ "full-at": 100,
+ "states": {
+ "full": 100,
+ "good": 75,
+ "warning": 30,
+ "critical": 15,
+ "empty": 5
+ },
+ "format": "{icon} {capacity}%",
+ "format-charging": " {capacity}%",
+ "format-plugged": " {capacity}%",
+ "format-icons": [
+ "",
+ "",
+ "",
+ "",
+ ""
+ ]
+ },
+ "temperature": {
+ "interval": 1,
+ "critical-threshold": 90,
+ "format": "{icon} {temperatureC}°C",
+ "format-icons": [
+ "",
+ "",
+ "",
+ "",
+ ""
+ ]
+ },
"idle_inhibitor": {
- "format": "{icon}",
+ "format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
@@ -48,9 +94,9 @@
"tooltip-format-deactivated": "idle-inhibitor off"
},
"clock": {
- "format": "{:%I:%M:%S %p | %a | %F}",
+ "format": "{:%I:%M:%S %p} |",
"interval": 1,
- "tooltip-format": "\n{:%Y %B}\n{calendar}",
+ "tooltip-format": "{:%I:%M:%S %p | %a | %F}\n\n{calendar}",
"calendar-weeks-pos": "right",
"today-format": "{}",
"format-calendar": "{}",
@@ -59,34 +105,37 @@
},
"disk": {
"interval": 30,
- "format": " {percentage_used}%",
- "path": "/"
+ "format": " {}%",
+ "tooltip-format": "{used} / {total} used"
},
"cpu": {
+ "format": " {usage:02}% {icon0}{icon1}{icon2}{icon3}{icon4}{icon5}{icon6}{icon7}",
+ "tooltip": false,
"interval": 1,
- "format": " {usage}%",
- "min-length": 6,
- "max-length": 6,
"format-icons": [
- "▁",
- "▂",
- "▃",
- "▄",
- "▅",
- "▆",
- "▇",
- "█"
+ // green,
+ "▁",
+ // blue,
+ "▂",
+ // white,
+ "▃",
+ // white,
+ "▄",
+ // yellow,
+ "▅",
+ // yellow,
+ "▆",
+ // orange,
+ "▇",
+ // red,
+ "█"
]
},
"memory": {
- "format": " {percentage}%"
+ "format": " {percentage:02}%"
},
"hyprland/window": {
"format": "( {class} )",
- "rewrite": {
- "(.*) - Mozilla Firefox": "🌎 $1",
- "(.*) - zsh": "> [$1]"
- }
},
"pulseaudio": {
"format": "{volume:02}% {icon}",
@@ -116,7 +165,7 @@
"spacing": 10
},
"custom/exit": {
- "format": "",
+ "format": "| ",
"on-click": "wlogout -b 2",
"tooltip": false
}
diff --git a/users/caperren/dotfiles/waybar/cap-slim7/config b/users/caperren/dotfiles/waybar/cap-slim7/config
index 075b96c..a4164ec 100644
--- a/users/caperren/dotfiles/waybar/cap-slim7/config
+++ b/users/caperren/dotfiles/waybar/cap-slim7/config
@@ -2,14 +2,15 @@
"layer": "top",
"position": "top",
"modules-left": [
- "custom/logo",
+// "custom/logo",
"clock",
+ "temperature",
"disk",
"memory",
- "cpu",
- "hyprland/window"
+ "cpu"
],
"modules-center": [
+ "hyprland/window",
"hyprland/workspaces"
],
"modules-right": [
@@ -22,7 +23,7 @@
],
"reload_style_on_change": true,
"custom/logo": {
- "format": "",
+ "format": "",
"tooltip": false
},
"hyprland/workspaces": {
@@ -50,23 +51,42 @@
},
"battery": {
"bat": "BAT0",
- "interval": 60,
+ "adapter": "AC",
+ "interval": 10,
+ "full-at": 100,
"states": {
+ "full": 100,
+ "good": 75,
"warning": 30,
- "critical": 15
+ "critical": 15,
+ "empty": 5
},
- "format": "{capacity}% {icon}",
+ "format": "{icon} {capacity}%",
+ "format-charging": " {capacity}%",
+ "format-plugged": " {capacity}%",
"format-icons": [
"",
"",
"",
"",
""
- ],
- "max-length": 25
+ ]
+ },
+ "temperature": {
+ "hwmon-path": "/sys/devices/pci0000:00/0000:00:18.3/hwmon/hwmon5/temp1_input",
+ "interval": 1,
+ "critical-threshold": 90,
+ "format": "{icon} {temperatureC}°C",
+ "format-icons": [
+ "",
+ "",
+ "",
+ "",
+ ""
+ ]
},
"idle_inhibitor": {
- "format": "{icon}",
+ "format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
@@ -75,9 +95,9 @@
"tooltip-format-deactivated": "idle-inhibitor off"
},
"clock": {
- "format": "{:%I:%M:%S %p | %a | %F}",
+ "format": "{:%I:%M:%S %p} |",
"interval": 1,
- "tooltip-format": "\n{:%Y %B}\n{calendar}",
+ "tooltip-format": "{:%I:%M:%S %p | %a | %F}\n\n{calendar}",
"calendar-weeks-pos": "right",
"today-format": "{}",
"format-calendar": "{}",
@@ -86,34 +106,37 @@
},
"disk": {
"interval": 30,
- "format": " {percentage_used}%",
- "path": "/"
+ "format": " {}%",
+ "tooltip-format": "{used} / {total} used"
},
"cpu": {
+ "format": " {usage:02}% {icon0}{icon1}{icon2}{icon3}{icon4}{icon5}{icon6}{icon7}",
+ "tooltip": false,
"interval": 1,
- "format": " {usage}%",
- "min-length": 6,
- "max-length": 6,
"format-icons": [
- "▁",
- "▂",
- "▃",
- "▄",
- "▅",
- "▆",
- "▇",
- "█"
+ // green,
+ "▁",
+ // blue,
+ "▂",
+ // white,
+ "▃",
+ // white,
+ "▄",
+ // yellow,
+ "▅",
+ // yellow,
+ "▆",
+ // orange,
+ "▇",
+ // red,
+ "█"
]
},
"memory": {
- "format": " {percentage}%"
+ "format": " {percentage:02}%"
},
"hyprland/window": {
"format": "( {class} )",
- "rewrite": {
- "(.*) - Mozilla Firefox": "🌎 $1",
- "(.*) - zsh": "> [$1]"
- }
},
"pulseaudio": {
"format": "{volume:02}% {icon}",
@@ -143,7 +166,7 @@
"spacing": 10
},
"custom/exit": {
- "format": "",
+ "format": "| ",
"on-click": "wlogout -b 2",
"tooltip": false
}
diff --git a/users/caperren/dotfiles/waybar/style.css b/users/caperren/dotfiles/waybar/style.css
new file mode 100644
index 0000000..9b0e3dd
--- /dev/null
+++ b/users/caperren/dotfiles/waybar/style.css
@@ -0,0 +1,51 @@
+* {
+ border: none;
+ border-radius: 0;
+ font-family: "JetBrains Mono", monospace;
+ font-size: 14px;
+ box-shadow: none;
+ text-shadow: none;
+ transition-duration: 0s;
+}
+
+window {
+ background: rgba(0, 0, 0, 0.00);
+}
+
+#workspaces button {
+ padding: 0 5px;
+ color: rgba(217, 216, 216, 0.4);
+}
+
+#workspaces button.visible {
+ color: rgba(217, 216, 216, 1);
+}
+
+#workspaces button.focused {
+ border-top: 3px solid rgba(217, 216, 216, 1);
+ border-bottom: 3px solid rgba(217, 216, 216, 0);
+}
+
+#workspaces button.urgent {
+ color: rgba(238, 46, 36, 1);
+}
+
+#memory,
+#idle_inhibitor,
+#pulseaudio,
+#backlight {
+ margin: 0 6px 0 10px;
+}
+
+#disk {
+ margin: 0 0 0 10px;
+
+}
+
+#clock {
+ margin: 0 6px 0 10px;
+}
+
+#custom-exit {
+ margin: 0 16px 0 6px;
+}
\ No newline at end of file