diff --git a/flake.lock b/flake.lock
index 95dc2863..c5c572cb 100644
--- a/flake.lock
+++ b/flake.lock
@@ -68,11 +68,11 @@
]
},
"locked": {
- "lastModified": 1732603785,
- "narHash": "sha256-AEjWTJwOmSnVYsSJCojKgoguGfFfwel6z/6ud6UFMU8=",
+ "lastModified": 1733105089,
+ "narHash": "sha256-Qs3YmoLYUJ8g4RkFj2rMrzrP91e4ShAioC9s+vG6ENM=",
"owner": "lnl7",
"repo": "nix-darwin",
- "rev": "6ab87b7c84d4ee873e937108c4ff80c015a40c7a",
+ "rev": "c6b65d946097baf3915dd51373251de98199280d",
"type": "github"
},
"original": {
@@ -229,11 +229,11 @@
"rust-overlay": "rust-overlay"
},
"locked": {
- "lastModified": 1732735497,
- "narHash": "sha256-qaiRKT4T+kRAMwfFf1fIJ5pwCcaLp2dfNpT65C4uWuE=",
+ "lastModified": 1733238479,
+ "narHash": "sha256-o5BT2ziQJzoXrqBz/iOIOGoxDTXYd5KiNF/7ncN81ao=",
"owner": "helix-editor",
"repo": "helix",
- "rev": "e1d1a5c5a12127ded88dfcf66dd74aad1650977c",
+ "rev": "fa68bac391e576e659e306ce3fb2758d3ec68538",
"type": "github"
},
"original": {
@@ -270,11 +270,11 @@
]
},
"locked": {
- "lastModified": 1732466619,
- "narHash": "sha256-T1e5oceypZu3Q8vzICjv1X/sGs9XfJRMW5OuXHgpB3c=",
+ "lastModified": 1733050161,
+ "narHash": "sha256-lYnT+EYE47f5yY3KS/Kd4pJ6CO9fhCqumkYYkQ3TK20=",
"owner": "nix-community",
"repo": "home-manager",
- "rev": "f3111f62a23451114433888902a55cf0692b408d",
+ "rev": "62d536255879be574ebfe9b87c4ac194febf47c5",
"type": "github"
},
"original": {
@@ -409,11 +409,11 @@
},
"nixos-hardware": {
"locked": {
- "lastModified": 1732483221,
- "narHash": "sha256-kF6rDeCshoCgmQz+7uiuPdREVFuzhIorGOoPXMalL2U=",
+ "lastModified": 1733217105,
+ "narHash": "sha256-fc6jTzIwCIVWTX50FtW6AZpuukuQWSEbPiyg6ZRGWFY=",
"owner": "NixOS",
"repo": "nixos-hardware",
- "rev": "45348ad6fb8ac0e8415f6e5e96efe47dd7f39405",
+ "rev": "cceee0a31d2f01bcc98b2fbd591327c06a4ea4f9",
"type": "github"
},
"original": {
@@ -469,11 +469,11 @@
},
"nixpkgs-master": {
"locked": {
- "lastModified": 1732832104,
- "narHash": "sha256-V+2uq4ziEDhUkfYZoxO9gofEeXvo/cVhHOJ51bSfBhk=",
+ "lastModified": 1733238461,
+ "narHash": "sha256-2YF0L0WdQhinTzrbGucb6rp03ZzCzWaximCqgLWKDiM=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "02fe29395df8e5571291ebcc6114f94dd33f722b",
+ "rev": "1c26355e02ea8aa9bef6a7b3f59d74bd3c504c11",
"type": "github"
},
"original": {
@@ -501,11 +501,11 @@
},
"nixpkgs_3": {
"locked": {
- "lastModified": 1732350895,
- "narHash": "sha256-GcOQbOgmwlsRhpLGSwZJwLbo3pu9ochMETuRSS1xpz4=",
+ "lastModified": 1733120037,
+ "narHash": "sha256-En+gSoVJ3iQKPDU1FHrR6zIxSLXKjzKY+pnh9tt+Yts=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "0c582677378f2d9ffcb01490af2f2c678dcb29d3",
+ "rev": "f9f0d5c5380be0a599b1fb54641fa99af8281539",
"type": "github"
},
"original": {
@@ -791,11 +791,11 @@
},
"locked": {
"dir": "nix",
- "lastModified": 1732816683,
- "narHash": "sha256-m2gGLcmUFdmgUFkIkTofB+8WoS91UTF+0B91WNc9M+k=",
+ "lastModified": 1732918908,
+ "narHash": "sha256-k43oaC+35/LGqJ+3MjIhn4Ko+ap3wTvHCJ4sj9W/o+k=",
"owner": "wez",
"repo": "wezterm",
- "rev": "a7ff718c7c182d62d7c848187da1655e58b8ecd8",
+ "rev": "4906789a6d61da58f73b95f89b59c41af60e0f3b",
"type": "github"
},
"original": {
diff --git a/flake.nix b/flake.nix
index eb55067c..0c1a0e4a 100644
--- a/flake.nix
+++ b/flake.nix
@@ -136,7 +136,7 @@
home-manager.nixosModules.home-manager
kmonad.nixosModules.default
xynoblog.nixosModule
- lolpizza.nixosModule
+ # lolpizza.nixosModule
x.nixosModule
({ config, ... }: lib.mkMerge [{
nixpkgs.pkgs = pkgs;
diff --git a/hm-modules/helix/default.nix b/hm-modules/helix/default.nix
index c5699f49..0298b861 100644
--- a/hm-modules/helix/default.nix
+++ b/hm-modules/helix/default.nix
@@ -9,7 +9,7 @@ in
jsonnet-language-server
jsonnet
nixpkgs-fmt
- omnisharp-roslyn
+ # omnisharp-roslyn
## ts
nodePackages_latest.prettier
typescript
diff --git a/hosts/ds9/containers.nix b/hosts/ds9/containers.nix
index 63ef78fe..68c1dae5 100644
--- a/hosts/ds9/containers.nix
+++ b/hosts/ds9/containers.nix
@@ -173,6 +173,16 @@ in
"nodered-data:/data"
];
};
+ virtualisation.oci-containers.containers.jellyfin = {
+ image = "jellyfin/jellyfin:latest";
+ user = "1000:100";
+ extraOptions = [ "--network=podman" "--mount" "type=bind,source=/data/media,destination=/media,ro=true,relabel=private"];
+ volumes = [
+ "jellyfin-config:/config"
+ "jellyfin-cache:/cache"
+ ];
+ };
+
}
diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix
index 5d3b4699..c303a435 100644
--- a/hosts/ds9/default.nix
+++ b/hosts/ds9/default.nix
@@ -198,6 +198,14 @@ in
handle @bzzt {
reverse_proxy http://127.0.0.1:5002
}
+ @jellyfin host j.hailsatan.eu
+ handle @jellyfin {
+ reverse_proxy http://jellyfin:8096 {
+ transport http {
+ resolvers 10.88.0.1 # podman dns
+ }
+ }
+ }
handle {
abort
}
diff --git a/hosts/theseus/builtin.kbd b/hosts/theseus/builtin.kbd
index f43cd4f5..3e8fec05 100644
--- a/hosts/theseus/builtin.kbd
+++ b/hosts/theseus/builtin.kbd
@@ -45,8 +45,8 @@
(deflayer colemak-dh
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
grv 1 2 3 4 5 6 7 8 9 0 - = bspc
- tab (tap-hold-next-release 200 :grace 15 q @num) w f p b j l u y (tap-hold-next-release 200 :grace 15 ; @num) [ ]
- esc (tap-hold-next-release 200 :grace 15 a lctrl) (tap-hold-next-release 200 :grace 15 r ralt) (tap-hold-next-release 200 :grace 15 s lmet) t g m n (tap-hold-next-release 200 :grace 15 e rmet) (tap-hold-next-release 200 :grace 15 i lalt) (tap-hold-next-release 200 :grace 15 o rctrl) ' \\ ret
+ tab q w f p b j l u y ; [ ]
+ esc (tap-hold-next-release 200 a lctrl) (tap-hold-next-release 200 r ralt) (tap-hold-next-release 200 s lmet) t g m n (tap-hold-next-release 200 e rmet) (tap-hold-next-release 200 i lalt) (tap-hold-next-release 200 o rctrl) ' \\ ret
lsft z x c d v 102d k h , . / rsft
lctl lmet lalt spc ralt rmet _ _
)
diff --git a/hosts/theseus/default.nix b/hosts/theseus/default.nix
index 604c07be..b05f77c7 100644
--- a/hosts/theseus/default.nix
+++ b/hosts/theseus/default.nix
@@ -10,20 +10,47 @@
../../nixos-modules/system/agenix.nix
../../nixos-modules/system/persist.nix
../../nixos-modules/user
+ # ./gnome.nix
];
# For mount.cifs, required unless domain name resolution is not needed.
environment.systemPackages = [ pkgs.cifs-utils ];
+ nix.extraOptions = # devenv
+ ''
+ trusted-users = root ragon
+ '';
- ragon.agenix.secrets.smbSecrets = { };
- fileSystems."/data" = {
- device = "//ds9.kangaroo-galaxy.ts.net/data";
- fsType = "cifs";
- options = let
- automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
- in ["${automount_opts},credentials=${config.age.secrets.smbSecrets.path},uid=1000,gid=100"];
+ hardware.keyboard.zsa.enable = true;
+
+ xdg.portal = {
+ enable = true;
+ wlr.enable = true;
+ extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
+ config = {
+ river = {
+ "org.freedesktop.impl.portal.Secret" = [
+ "gnome-keyring"
+ ];
+ default = [
+ "gtk"
+ ];
+ "org.freedesktop.impl.portal.Screenshot" = "wlr";
+ "org.freedesktop.impl.portal.ScreenCast" = "wlr";
+ };
+
+
+ };
};
+ ragon.agenix.secrets.smbSecrets = { };
+ # fileSystems."/data" = {
+ # device = "//ds9.kangaroo-galaxy.ts.net/data";
+ # fsType = "cifs";
+ # options = let
+ # automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
+
+ # in ["${automount_opts},credentials=${config.age.secrets.smbSecrets.path},uid=1000,gid=100"];
+ # };
# Don't Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.initrd.luks.devices.cryptroot.device = "/dev/disk/by-uuid/4cd8dbb3-8eea-48ff-87b1-92945be291ac";
@@ -41,17 +68,12 @@
programs.kdeconnect.enable = true;
services.power-profiles-daemon.enable = true;
services.printing.enable = true;
- services.printing.drivers = with pkgs; [ gutenprint hplip splix ];
+ programs.system-config-printer.enable = true;
+ services.printing.drivers = with pkgs; [ gutenprint hplip splix ptouch-driver ];
services.avahi.enable = true;
programs.sway.extraSessionCommands = ''
export NIXOS_OZONE_WL=1
'';
- xdg.portal = {
- wlr.enable = true;
- enable = true;
- extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
- configPackages = [ pkgs.xdg-desktop-portal-gtk ];
- };
# start bt
hardware.bluetooth.enable = true;
services.blueman.enable = true;
@@ -77,10 +99,28 @@
dejavu_fonts
source-code-pro # Default monospace font in 3.32
source-sans
+ b612
+
];
services.pipewire = {
enable = true;
+ raopOpenFirewall = true; # airplay
pulse.enable = true;
+ extraConfig.pipewire = {
+ "9-clock-allow-higher" = {
+ "context.properties" = {
+ "default.clock.allowed-rates" = [ "44100" "48000" "96000" "192000"];
+ };
+ };
+ "10-raop-discover" = {
+ "context.modules" = [
+ {
+ name = "libpipewire-module-raop-discover";
+ args = {};
+ }
+ ];
+ };
+ };
};
services.fwupd.enable = true;
@@ -135,6 +175,9 @@
-- and finally, return the configuration to wezterm
return config
'';
+ services.syncthing.enable = true;
+ services.syncthing.tray.enable = true;
+ services.syncthing.tray.command = "syncthingtray --wait";
home.packages = with pkgs; [
inputs.wezterm.packages.${pkgs.system}.default
@@ -157,6 +200,9 @@
mixxx
unstable.harsh
libreoffice-qt6-fresh
+ inkscape
+ easyeffects
+ dune3d
broot
@@ -229,6 +275,7 @@
persist.enable = true;
persist.extraDirectories = [
"/var/lib/bluetooth"
+ "/var/lib/flatpak"
];
services = {
ssh.enable = true;
diff --git a/hosts/theseus/gnome.nix b/hosts/theseus/gnome.nix
new file mode 100644
index 00000000..1961b813
--- /dev/null
+++ b/hosts/theseus/gnome.nix
@@ -0,0 +1,16 @@
+{ pkgs, config, inputs, lib, ... }:
+let
+ gnomeExtensions = with pkgs.gnomeExtensions; [
+ paperwm
+ gsconnect
+ ];
+ gnomeExtensionUuids = map (x: x.extensionUuid) gnomeExtensions;
+in
+{
+ services.xserver.desktopManager.gnome.enable = true;
+ environment.systemPackages = gnomeExtensions;
+ home-manager.users.ragon.dconf.settings."org/gnome/shell" = {
+ "disable-user-extensions" = false;
+ enabled-extensions = gnomeExtensionUuids;
+ };
+}
diff --git a/hosts/theseus/river.nix b/hosts/theseus/river.nix
index ef403ff4..5cdfcba9 100644
--- a/hosts/theseus/river.nix
+++ b/hosts/theseus/river.nix
@@ -1,8 +1,8 @@
{ lib, pkgs, config, inputs, ... }:
let
# backgroundImage = builtins.fetchurl {
- # url = "https://gruvbox-wallpapers.pages.dev/wallpapers/anime/wallhaven-2e2xyx.jpg";
- # sha256 = "1zw1a8x20bp9mn9lx18mxzgzvzi02ss57r4q1lc9f14fsmzphnlq";
+ # url = "https://gruvbox-wallpapers.pages.dev/wallpapers/anime/wallhaven-2e2xyx.jpg";
+ # sha256 = "1zw1a8x20bp9mn9lx18mxzgzvzi02ss57r4q1lc9f14fsmzphnlq";
# };
backgroundImage = "/home/ragon/Pictures/background.jpg";
in
@@ -44,11 +44,6 @@ in
};
};
- xdg.portal = {
- enable = true;
- extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
- configPackages = with pkgs; [ xdg-desktop-portal-gtk ];
- };
programs.waybar = {
enable = true;
systemd.enable = true;
@@ -57,7 +52,7 @@ in
* {
/* `otf-font-awesome` is required to be installed for icons */
font-family: "Source Sans Pro Nerd Font";
- font-size: 13px;
+ font-size: 12px;
}
window#waybar {
@@ -92,7 +87,7 @@ window#waybar.chromium {
}*/
#tags button {
- padding: 0 5px;
+ padding: 0 2px;
background-color: #282828;
color: #ebdbb2;
/* Use box-shadow instead of border so the text isn't offset */
@@ -103,7 +98,7 @@ window#waybar.chromium {
}
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
-#workspaces button:hover {
+#tags button:hover {
background: rgba(0, 0, 0, 0.2);
/* box-shadow: inset 0 -3px #fbf1c7;
*/
@@ -146,7 +141,7 @@ window#waybar.chromium {
#custom-poweroff,
#custom-suspend,
#mpd {
- padding: 0 5px;
+ padding: 0 2px;
background-color: #282828;
color: #ebdbb2;
}
@@ -154,7 +149,7 @@ window#waybar.chromium {
#window,
#workspaces,
#tags {
- margin: 0 4px;
+ margin: 0 2px;
}
/* If workspaces is the leftmost module, omit left margin */
@@ -167,16 +162,13 @@ window#waybar.chromium {
margin-right: 0;
}
-#clock {
- color: #8ec07c;
-}
#battery {
color: #d3869b;
}
#battery.charging, #battery.plugged {
- color: #d3869b;
+ color: #98971a;
}
@keyframes blink {
@@ -214,31 +206,30 @@ label:focus {
}
#memory {
- color: #b8bb26;
+ color: #FCF434; /* enby yellow */
+}
+#disk {
+ color: #FFFFFF; /* enby white */
+}
+#network {
+ color: #9C59D1; /* enby purple */
+}
+#clock {
+ color: #000000;
+ /*color: #2C2C2C; enby black */
}
-#network {
- color: #fb4934;
-}
#network.disconnected {
background-color: #fbf1c7;
color: #9d0006;
}
-/*#disk {
- background-color: #964B00;
-}*/
-#pulseaudio {
+#wireplumber {
color: #fe8019;
}
-#pulseaudio.muted {
- background-color: #fbf1c7;
- color: #af3a03;
-}
-
#tray {
}
@@ -317,44 +308,79 @@ label:focus {
layer = "top";
position = "top";
height = 15;
- modules-left = [ "river/tags" "river/layout" "tray"];
- modules-center = [ "river/window" ];
- modules-right = [ "wireplumber" "upower" "backlight" "cpu" "temperature" "memory" "disk" "custom/tailscale" "network" "clock" ];
+ modules-left = [ "river/tags" "river/layout" "river/window" ];
+ modules-right = [ "tray" "power_profiles_daemon" "idle_inhibitor" "wireplumber" "battery" "backlight" "cpu" "temperature" "memory" "disk" "custom/tailscale" "network" "clock" ];
"river/window" = {
max-length = 40;
};
wireplumber = {
- "format" = "{volume}% {icon}";
- "format-muted" = "";
+ "format" = "{icon} {volume}%";
+ "format-muted" = " MUTE";
"on-click" = "${pkgs.pwvucontrol}/bin/pwvucontrol";
- "on-right-click" = "${pkgs.wireplumber}/bin/wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
+ "on-click-right" = "${pkgs.wireplumber}/bin/wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
"format-icons" = [ "" "" "" ];
};
"backlight" = {
"device" = "amdgpu_bl1";
- "format" = "{percent}% {icon}";
- "format-icons" = [ "" "" ];
+ "format" = "{icon} {percent}%";
+ "format-icons" = [ "" "" "" "" "" "" "" ];
"on-scroll-up" = "${pkgs.brightnessctl}/bin/brightnessctl s +10";
"on-scroll-down" = "${pkgs.brightnessctl}/bin/brightnessctl s 10-";
};
+ "idle_inhibitor" = {
+ format = "{icon} ";
+ format-icons = {
+ "activated" = "";
+ "deactivated" = "";
+ };
+ };
+ battery = {
+ "states" = {
+ "warning" = 30;
+ "critical" = 15;
+ };
+ "format" = "{icon} {capacity}%";
+ "format-icons" = [ "" "" "" "" "" ];
+ "tooltip-format" = "Capacity: {capacity}%\nPower Draw: {power:0.2f}W\n{timeTo}\nCycles: {cycles}";
+ "max-length" = 25;
+ };
"cpu" = {
"interval" = 10;
- "format" = "{:0.0f}% ";
+ "format" = " {:0.0f}%";
"max-length" = 10;
};
"temperature" = {
- "format" = "{temperatureC}°C ";
+ "format" = " {temperatureC}°C";
};
memory = {
interval = 30;
- format = "{used:0.0f}/{total:0.0f} GB ";
+ format = " {used:0.0f}/{total:0.0f}GB";
};
clock = {
interval = 1;
format = "{:%Y-%m-%dT%H:%M:%S%z}";
+ "tooltip-format" = "{calendar}";
+ "calendar" = {
+ "mode" = "year";
+ "mode-mon-col" = 3;
+ "weeks-pos" = "right";
+ "on-scroll" = 1;
+ "format" = {
+ "months" = "{}";
+ "days" = "{}";
+ "weeks" = "W{}";
+ "weekdays" = "{}";
+ "today" = "{}";
+ };
+ };
+ "actions" = {
+ "on-click-right" = "mode";
+ "on-scroll-up" = "shift_up";
+ "on-scroll-down" = "shift_down";
+ };
};
disk = {
- format = "{specific_used:0.0f}/{specific_total:0.0f} GB ";
+ format = " {specific_used:0.0f}/{specific_total:0.0f}GB";
unit = "GB";
path = "/persistent";
};
@@ -369,12 +395,12 @@ label:focus {
};
"network" = {
"format" = "{ifname}";
- "format-wifi" = "{essid} ({signalStrength}%) ";
- "format-ethernet" = "{ipaddr}/{cidr} ";
- "format-disconnected" = "";
- "tooltip-format" = "{ifname} via {gwaddr} ";
- "tooltip-format-wifi" = "{essid} ({signalStrength}%) ";
- "tooltip-format-ethernet" = "{ifname} ";
+ "format-wifi" = " {essid}";
+ "format-ethernet" = " {ifname}";
+ "format-disconnected" = "";
+ "tooltip-format" = "{ifname} via {gwaddr}\n{ipaddr}/{cidr}";
+ "tooltip-format-wifi" = "{essid} ({signaldBm} dBm) {frequency} GHz\n{ipaddr}/{cidr}";
+ "tooltip-format-ethernet" = "{ifname}\n{ipaddr}/{cidr}";
"tooltip-format-disconnected" = "Disconnected";
"max-length" = 50;
};
@@ -518,9 +544,13 @@ label:focus {
keyboard-layout = "eu";
xcursor-theme = "Adwaita";
default-layout = "rivertile";
+ rule-add = {
+ "-title 'Picture-in-Picture'" = "float";
+ "-app-id 'com.saivert.pwvucontrol'" = "float";
+ };
};
extraConfig = ''
- rivertile -view-padding 3 -outer-padding 3 &
+ rivertile -view-padding 0 -outer-padding 0 &
swayidle \
timeout 300 'swaylock -i ${backgroundImage}' \
timeout 600 'wlopm --off \*' resume 'wlopm --on \*' \
diff --git a/hosts/theseus/work.nix b/hosts/theseus/work.nix
index 5b013a91..794c864a 100644
--- a/hosts/theseus/work.nix
+++ b/hosts/theseus/work.nix
@@ -1,8 +1,9 @@
{ config, pkgs, lib, ... }: {
home.packages = [
- pkgs.dotnet-sdk_8
- pkgs.jetbrains.rider
- pkgs.jetbrains.datagrip
+ # pkgs.dotnet-sdk_8
+ pkgs.unstable.dotnet-sdk_9
+ pkgs.unstable.jetbrains.rider
+ # pkgs.jetbrains.datagrip
(pkgs.firefox-devedition.overrideAttrs (super: self: { meta.priority = 1; }))
];