This commit is contained in:
Lucy Hochkamp 2024-12-16 00:01:53 +01:00
parent 6198165886
commit 8b72e73fb0
No known key found for this signature in database
10 changed files with 202 additions and 90 deletions

42
flake.lock generated
View file

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

View file

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

View file

@ -9,7 +9,7 @@ in
jsonnet-language-server
jsonnet
nixpkgs-fmt
omnisharp-roslyn
# omnisharp-roslyn
## ts
nodePackages_latest.prettier
typescript

View file

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

View file

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

View file

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

View file

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

16
hosts/theseus/gnome.nix Normal file
View file

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

View file

@ -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" = "<tt><small>{calendar}</small></tt>";
"calendar" = {
"mode" = "year";
"mode-mon-col" = 3;
"weeks-pos" = "right";
"on-scroll" = 1;
"format" = {
"months" = "<span color='#ffead3'><b>{}</b></span>";
"days" = "<span color='#ecc6d9'><b>{}</b></span>";
"weeks" = "<span color='#99ffdd'><b>W{}</b></span>";
"weekdays" = "<span color='#ffcc66'><b>{}</b></span>";
"today" = "<span color='#ff6699'><b><u>{}</u></b></span>";
};
};
"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 \*' \

View file

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