Compare commits

..

6 Commits

20 changed files with 314 additions and 86 deletions

View File

@@ -41,6 +41,7 @@
../../modules/application-groups/pcb-design.nix ../../modules/application-groups/pcb-design.nix
../../modules/application-groups/productivity.nix ../../modules/application-groups/productivity.nix
../../modules/application-groups/programming.nix ../../modules/application-groups/programming.nix
../../modules/application-groups/radio.nix
../../modules/application-groups/social.nix ../../modules/application-groups/social.nix
../../modules/application-groups/system-utilities.nix ../../modules/application-groups/system-utilities.nix
../../modules/application-groups/virtualization.nix ../../modules/application-groups/virtualization.nix

View File

@@ -37,6 +37,7 @@
../../modules/application-groups/pcb-design.nix ../../modules/application-groups/pcb-design.nix
../../modules/application-groups/productivity.nix ../../modules/application-groups/productivity.nix
../../modules/application-groups/programming.nix ../../modules/application-groups/programming.nix
../../modules/application-groups/radio.nix
../../modules/application-groups/social.nix ../../modules/application-groups/social.nix
../../modules/application-groups/system-utilities.nix ../../modules/application-groups/system-utilities.nix
../../modules/application-groups/virtualization.nix ../../modules/application-groups/virtualization.nix

View File

@@ -1,6 +1,7 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
gallery-dl
transmission_4-qt transmission_4-qt
yt-dlp yt-dlp
]; ];

View File

@@ -41,12 +41,12 @@ in {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
audacity # aaudacity
darktable # darktable
deadbeef deadbeef
glava glava
obs-studio obs-studio
# plex-desktop --> Encountering build failures plex-desktop
projectm_3 projectm_3
sox sox
spotify-player spotify-player

View File

@@ -2,7 +2,7 @@
{ {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
kicad kicad
pcb2gcode #pcb2gcode
]; ];
} }

View File

@@ -23,8 +23,7 @@ in {
nixfmt-rfc-style nixfmt-rfc-style
nixos-generators nixos-generators
nodejs nodejs
platformio # platformio
python311Full
python3Full python3Full
stm32cubemx stm32cubemx
stm32flash stm32flash

View File

@@ -3,6 +3,7 @@
hardware.rtl-sdr.enable = true; hardware.rtl-sdr.enable = true;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
chirp
soapysdr soapysdr
soapyrtlsdr soapyrtlsdr
]; ];

View File

@@ -1,9 +1,8 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
telegram-desktop
discord discord
slack
telegram-desktop
]; ];
} }

View File

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

View File

@@ -1,5 +1,14 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
boot = {
extraModulePackages = [ config.boot.kernelPackages.evdi ];
initrd = {
# List of modules that are always loaded by the initrd.
kernelModules = [
"evdi"
];
};
};
services.xserver.videoDrivers = [ services.xserver.videoDrivers = [
"displaylink" "displaylink"
"modesetting" "modesetting"

View File

@@ -1,8 +1,16 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
fonts.fontDir.enable = true; fonts.fontDir.enable = true;
fonts.fontconfig.enable = true; fonts.fontconfig = {
fonts.fontconfig.antialias = true; enable = true;
antialias = true;
defaultFonts = {
monospace = [ "JetBrains Mono" ];
sansSerif = [ "JetBrains Mono" ];
serif = [ "JetBrains Mono" ];
};
};
fonts.packages = with pkgs; [ fonts.packages = with pkgs; [
noto-fonts noto-fonts
noto-fonts-emoji noto-fonts-emoji

View File

@@ -23,30 +23,26 @@
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
programs.hyprlock.enable = true; programs.hyprlock.enable = true;
programs.waybar.enable = true;
services.hypridle.enable = true; services.hypridle.enable = true;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
waybar
dunst
libnotify
rofi-wayland
nwg-look
nwg-displays
slurp
grim
arandr arandr
wl-clipboard dunst
wlogout
flameshot flameshot
wofi grim
swayimg hyprpaper
hyprpicker hyprpicker
kanshi kanshi
libnotify
mako mako
nwg-look
(pkgs.waybar.overrideAttrs (oldAttrs: { rofi-wayland
mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ]; slurp
})) swayimg
wl-clipboard
wlogout
wofi
]; ];
} }

View File

@@ -22,10 +22,10 @@
programs.bash.shellAliases = { programs.bash.shellAliases = {
# Nix rebuild, switch # 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 # 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. # 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... # Remember to make that partition bigger in the future...

View File

@@ -37,12 +37,19 @@ in
userEmail = "caperren@gmail.com"; 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/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-common.conf".source = ./dotfiles/hyprland/hyprland-common.conf;
home.file.".config/hypr/hyprland.conf".source = hyprlandConfigPath + "/hyprland.conf"; home.file.".config/hypr/hyprland.conf".source = hyprlandConfigPath + "/hyprland.conf";
home.file.".config/kanshi/config".source = kanshiConfigPath + "/config"; home.file.".config/kanshi/config".source = kanshiConfigPath + "/config";
home.file.".config/spotify-player/app.toml".text = spotifyPlayerAppTomlText; home.file.".config/spotify-player/app.toml".text = spotifyPlayerAppTomlText;
home.file.".config/waybar/config".source = waybarConfigPath + "/config"; 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; home.file.".config/wlogout/layout".source = ./dotfiles/wlogout/layout;
gtk = { gtk = {
@@ -62,10 +69,16 @@ in
name = "Bibata-Modern-Ice"; name = "Bibata-Modern-Ice";
package = pkgs.bibata-cursors; package = pkgs.bibata-cursors;
}; };
font.name = "JetBrains Mono 11";
}; };
home.sessionVariables = { home.sessionVariables = {
GTK_THEME = "Adwaita-dark"; GTK_THEME = "Adwaita-dark";
}; };
xresources.properties = {
"Xft.font" = "JetBrains Mono";
};
}; };
} }

View File

@@ -165,6 +165,7 @@ bind = ,XF86MonBrightnessUp, exec, brightnessctl s +1%
exec-once = kanshi exec-once = kanshi
exec-once = ydotoold exec-once = ydotoold
exec-once = hypridle exec-once = hypridle
exec-once = hyprpaper
exec-once = wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 10% exec-once = wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 10%

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1,5 @@
preload = ~/.config/hypr/backgrounds/black.png
wallpaper = ,~/.config/hypr/backgrounds/black.png
ipc = off
splash = false

View File

@@ -2,25 +2,28 @@
"layer": "top", "layer": "top",
"position": "top", "position": "top",
"modules-left": [ "modules-left": [
"custom/logo", // "custom/logo",
"clock", "clock",
"temperature",
"disk", "disk",
"memory", "memory",
"cpu", "cpu"
"hyprland/window"
], ],
"modules-center": [ "modules-center": [
"hyprland/window",
"hyprland/workspaces" "hyprland/workspaces"
], ],
"modules-right": [ "modules-right": [
"tray", "tray",
"idle_inhibitor", "idle_inhibitor",
"pulseaudio", "pulseaudio",
"battery",
"backlight",
"custom/exit" "custom/exit"
], ],
"reload_style_on_change": true, "reload_style_on_change": true,
"custom/logo": { "custom/logo": {
"format": "<span font='20'></span>", "format": "<span font='15'></span>",
"tooltip": false "tooltip": false
}, },
"hyprland/workspaces": { "hyprland/workspaces": {
@@ -38,8 +41,51 @@
"9": "9" "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": { "idle_inhibitor": {
"format": "<span font='16'>{icon}</span>", "format": "{icon}",
"format-icons": { "format-icons": {
"activated": "󰈈", "activated": "󰈈",
"deactivated": "󰈉" "deactivated": "󰈉"
@@ -48,9 +94,9 @@
"tooltip-format-deactivated": "idle-inhibitor <span color='#ee99a0'>off</span>" "tooltip-format-deactivated": "idle-inhibitor <span color='#ee99a0'>off</span>"
}, },
"clock": { "clock": {
"format": "{:%I:%M:%S %p | %a | %F}", "format": "{:%I:%M:%S %p} |",
"interval": 1, "interval": 1,
"tooltip-format": "\n<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>", "tooltip-format": "<big>{:%I:%M:%S %p | %a | %F}</big>\n\n<tt><big>{calendar}</big></tt>",
"calendar-weeks-pos": "right", "calendar-weeks-pos": "right",
"today-format": "<span color='#7645AD'><b><u>{}</u></b></span>", "today-format": "<span color='#7645AD'><b><u>{}</u></b></span>",
"format-calendar": "<span color='#aeaeae'><b>{}</b></span>", "format-calendar": "<span color='#aeaeae'><b>{}</b></span>",
@@ -59,34 +105,37 @@
}, },
"disk": { "disk": {
"interval": 30, "interval": 30,
"format": " {percentage_used}%", "format": " {}%",
"path": "/" "tooltip-format": "{used} / {total} used"
}, },
"cpu": { "cpu": {
"format": " {usage:02}% {icon0}{icon1}{icon2}{icon3}{icon4}{icon5}{icon6}{icon7}",
"tooltip": false,
"interval": 1, "interval": 1,
"format": " {usage}%",
"min-length": 6,
"max-length": 6,
"format-icons": [ "format-icons": [
"▁", // green,
"", "<span color='#69ff94'>▁</span>",
"▃", // blue,
"", "<span color='#2aa9ff'>▂</span>",
"▅", // white,
"", "<span color='#f8f8f2'>▃</span>",
"▇", // white,
"█" "<span color='#f8f8f2'>▄</span>",
// yellow,
"<span color='#ffffa5'>▅</span>",
// yellow,
"<span color='#ffffa5'>▆</span>",
// orange,
"<span color='#ff9977'>▇</span>",
// red,
"<span color='#dd532e'>█</span>"
] ]
}, },
"memory": { "memory": {
"format": " {percentage}%" "format": " {percentage:02}%"
}, },
"hyprland/window": { "hyprland/window": {
"format": "( {class} )", "format": "( {class} )",
"rewrite": {
"(.*) - Mozilla Firefox": "🌎 $1",
"(.*) - zsh": "> [$1]"
}
}, },
"pulseaudio": { "pulseaudio": {
"format": "{volume:02}% {icon}", "format": "{volume:02}% {icon}",
@@ -116,7 +165,7 @@
"spacing": 10 "spacing": 10
}, },
"custom/exit": { "custom/exit": {
"format": "", "format": "| ",
"on-click": "wlogout -b 2", "on-click": "wlogout -b 2",
"tooltip": false "tooltip": false
} }

View File

@@ -2,14 +2,15 @@
"layer": "top", "layer": "top",
"position": "top", "position": "top",
"modules-left": [ "modules-left": [
"custom/logo", // "custom/logo",
"clock", "clock",
"temperature",
"disk", "disk",
"memory", "memory",
"cpu", "cpu"
"hyprland/window"
], ],
"modules-center": [ "modules-center": [
"hyprland/window",
"hyprland/workspaces" "hyprland/workspaces"
], ],
"modules-right": [ "modules-right": [
@@ -22,7 +23,7 @@
], ],
"reload_style_on_change": true, "reload_style_on_change": true,
"custom/logo": { "custom/logo": {
"format": "<span font='20'></span>", "format": "<span font='15'></span>",
"tooltip": false "tooltip": false
}, },
"hyprland/workspaces": { "hyprland/workspaces": {
@@ -50,23 +51,42 @@
}, },
"battery": { "battery": {
"bat": "BAT0", "bat": "BAT0",
"interval": 60, "adapter": "AC",
"interval": 10,
"full-at": 100,
"states": { "states": {
"full": 100,
"good": 75,
"warning": 30, "warning": 30,
"critical": 15 "critical": 15,
"empty": 5
}, },
"format": "{capacity}% {icon}", "format": "{icon} {capacity}%",
"format-charging": " {capacity}%",
"format-plugged": " {capacity}%",
"format-icons": [ "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": { "idle_inhibitor": {
"format": "<span font='16'>{icon}</span>", "format": "{icon}",
"format-icons": { "format-icons": {
"activated": "󰈈", "activated": "󰈈",
"deactivated": "󰈉" "deactivated": "󰈉"
@@ -75,9 +95,9 @@
"tooltip-format-deactivated": "idle-inhibitor <span color='#ee99a0'>off</span>" "tooltip-format-deactivated": "idle-inhibitor <span color='#ee99a0'>off</span>"
}, },
"clock": { "clock": {
"format": "{:%I:%M:%S %p | %a | %F}", "format": "{:%I:%M:%S %p} |",
"interval": 1, "interval": 1,
"tooltip-format": "\n<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>", "tooltip-format": "<big>{:%I:%M:%S %p | %a | %F}</big>\n\n<tt><big>{calendar}</big></tt>",
"calendar-weeks-pos": "right", "calendar-weeks-pos": "right",
"today-format": "<span color='#7645AD'><b><u>{}</u></b></span>", "today-format": "<span color='#7645AD'><b><u>{}</u></b></span>",
"format-calendar": "<span color='#aeaeae'><b>{}</b></span>", "format-calendar": "<span color='#aeaeae'><b>{}</b></span>",
@@ -86,34 +106,37 @@
}, },
"disk": { "disk": {
"interval": 30, "interval": 30,
"format": " {percentage_used}%", "format": " {}%",
"path": "/" "tooltip-format": "{used} / {total} used"
}, },
"cpu": { "cpu": {
"format": " {usage:02}% {icon0}{icon1}{icon2}{icon3}{icon4}{icon5}{icon6}{icon7}",
"tooltip": false,
"interval": 1, "interval": 1,
"format": " {usage}%",
"min-length": 6,
"max-length": 6,
"format-icons": [ "format-icons": [
"▁", // green,
"", "<span color='#69ff94'>▁</span>",
"▃", // blue,
"", "<span color='#2aa9ff'>▂</span>",
"▅", // white,
"", "<span color='#f8f8f2'>▃</span>",
"▇", // white,
"█" "<span color='#f8f8f2'>▄</span>",
// yellow,
"<span color='#ffffa5'>▅</span>",
// yellow,
"<span color='#ffffa5'>▆</span>",
// orange,
"<span color='#ff9977'>▇</span>",
// red,
"<span color='#dd532e'>█</span>"
] ]
}, },
"memory": { "memory": {
"format": " {percentage}%" "format": " {percentage:02}%"
}, },
"hyprland/window": { "hyprland/window": {
"format": "( {class} )", "format": "( {class} )",
"rewrite": {
"(.*) - Mozilla Firefox": "🌎 $1",
"(.*) - zsh": "> [$1]"
}
}, },
"pulseaudio": { "pulseaudio": {
"format": "{volume:02}% {icon}", "format": "{volume:02}% {icon}",
@@ -143,7 +166,7 @@
"spacing": 10 "spacing": 10
}, },
"custom/exit": { "custom/exit": {
"format": "", "format": "| ",
"on-click": "wlogout -b 2", "on-click": "wlogout -b 2",
"tooltip": false "tooltip": false
} }

View File

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