Compare commits

..

12 commits

20 changed files with 231 additions and 180 deletions

133
flake.lock generated
View file

@ -21,16 +21,17 @@
"base16-fish": {
"flake": false,
"locked": {
"lastModified": 1622559957,
"narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=",
"lastModified": 1754405784,
"narHash": "sha256-l9xHIy+85FN+bEo6yquq2IjD1rSg9fjfjpyGP1W8YXo=",
"owner": "tomyun",
"repo": "base16-fish",
"rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe",
"rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
"type": "github"
},
"original": {
"owner": "tomyun",
"repo": "base16-fish",
"rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
"type": "github"
}
},
@ -78,11 +79,11 @@
]
},
"locked": {
"lastModified": 1744387566,
"narHash": "sha256-O39zTv7LdRgr4Hw38d+eQG2LYpP75rw2XKqTGV5qzgs=",
"lastModified": 1760299432,
"narHash": "sha256-OEsLiZvC+WOssGIzUx0miuKsODlp7IGax8XVhNCw8wY=",
"owner": "HeitorAugustoLN",
"repo": "cosmic-manager",
"rev": "52d3fdd080a9dd4639948687682a68282fbf0314",
"rev": "a61b25313a83d32de4769fbb4026d93bde00b256",
"type": "github"
},
"original": {
@ -115,11 +116,11 @@
]
},
"locked": {
"lastModified": 1738453229,
"narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=",
"lastModified": 1759362264,
"narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd",
"rev": "758cf7296bee11f1706a574c77d072b8a7baa881",
"type": "github"
},
"original": {
@ -136,11 +137,11 @@
]
},
"locked": {
"lastModified": 1754091436,
"narHash": "sha256-XKqDMN1/Qj1DKivQvscI4vmHfDfvYR2pfuFOJiCeewM=",
"lastModified": 1759362264,
"narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "67df8c627c2c39c41dbec76a1f201929929ab0bd",
"rev": "758cf7296bee11f1706a574c77d072b8a7baa881",
"type": "github"
},
"original": {
@ -228,11 +229,11 @@
]
},
"locked": {
"lastModified": 1753592768,
"narHash": "sha256-oV695RvbAE4+R9pcsT9shmp6zE/+IZe6evHWX63f2Qg=",
"lastModified": 1758463745,
"narHash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "fc3add429f21450359369af74c2375cb34a2d204",
"rev": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3",
"type": "github"
},
"original": {
@ -256,16 +257,16 @@
]
},
"locked": {
"lastModified": 1748294338,
"narHash": "sha256-FVO01jdmUNArzBS7NmaktLdGA5qA3lUMJ4B7a05Iynw=",
"lastModified": 1754860581,
"narHash": "sha256-EM0IE63OHxXCOpDHXaTyHIOk2cNvMCGPqLt/IdtVxgk=",
"owner": "NuschtOS",
"repo": "ixx",
"rev": "cc5f390f7caf265461d4aab37e98d2292ebbdb85",
"rev": "babfe85a876162c4acc9ab6fb4483df88fa1f281",
"type": "github"
},
"original": {
"owner": "NuschtOS",
"ref": "v0.0.8",
"ref": "v0.1.1",
"repo": "ixx",
"type": "github"
}
@ -275,11 +276,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1741303672,
"narHash": "sha256-eRKbKccBu3PK/oJpmUuLo+0v45d0SEjosE8tVsHbpeA=",
"lastModified": 1756852730,
"narHash": "sha256-qPere4RBHoZxiEGl8zXU8gjroZg4gkYGEwaAbKmL4vE=",
"owner": "musnix",
"repo": "musnix",
"rev": "d56a15f30329f304151e4e05fa82264d127da934",
"rev": "7ccc92050e43dc92309396c6f2fe1f542214a242",
"type": "github"
},
"original": {
@ -300,11 +301,11 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
},
"locked": {
"lastModified": 1754744872,
"narHash": "sha256-rcMHMs+dFWaDXev092gfxTfxHEWcUY/6SRV+cseNevQ=",
"lastModified": 1761187190,
"narHash": "sha256-5ln16iOeWpEX5MO7M3jzFEBNFE42gpFsCvSvPjtF6tQ=",
"owner": "sodiboo",
"repo": "niri-flake",
"rev": "346fc31bcc4d2dbcc3e8ce8dbb622e4255ff54b7",
"rev": "77a07f5d3b775fba67550c38122ebb8d3ee3ba1c",
"type": "github"
},
"original": {
@ -316,16 +317,16 @@
"niri-stable": {
"flake": false,
"locked": {
"lastModified": 1748151941,
"narHash": "sha256-z4viQZLgC2bIJ3VrzQnR+q2F3gAOEQpU1H5xHtX/2fs=",
"lastModified": 1756556321,
"narHash": "sha256-RLD89dfjN0RVO86C/Mot0T7aduCygPGaYbog566F0Qo=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "8ba57fcf25d2fc9565131684a839d58703f1dae7",
"rev": "01be0e65f4eb91a9cd624ac0b76aaeab765c7294",
"type": "github"
},
"original": {
"owner": "YaLTeR",
"ref": "v25.05.1",
"ref": "v25.08",
"repo": "niri",
"type": "github"
}
@ -333,11 +334,11 @@
"niri-unstable": {
"flake": false,
"locked": {
"lastModified": 1754742008,
"narHash": "sha256-Tp0FG7VpLudVEC622d91z2hbdfPLCXxw0Nv43iNN4O0=",
"lastModified": 1760940149,
"narHash": "sha256-KbM47vD6E0cx+v4jYQZ8mD5N186AKm2CQlyh34TW58U=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "67361f88fd01974ebee4cf80f0e29c87d805cc39",
"rev": "b3245b81a6ed8edfaf5388a74d2e0a23c24941e5",
"type": "github"
},
"original": {
@ -348,11 +349,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1740695751,
"narHash": "sha256-D+R+kFxy1KsheiIzkkx/6L63wEHBYX21OIwlFV8JvDs=",
"lastModified": 1756542300,
"narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "6313551cd05425cd5b3e63fe47dbc324eabb15e4",
"rev": "d7600c775f877cd87b4f5a831c28aa94137377aa",
"type": "github"
},
"original": {
@ -364,11 +365,11 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1754689972,
"narHash": "sha256-eogqv6FqZXHgqrbZzHnq43GalnRbLTkbBbFtEfm1RSc=",
"lastModified": 1761016216,
"narHash": "sha256-G/iC4t/9j/52i/nm+0/4ybBmAF4hzR8CNHC75qEhjHo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "fc756aa6f5d3e2e5666efcf865d190701fef150a",
"rev": "481cf557888e05d3128a76f14c76397b7d7cc869",
"type": "github"
},
"original": {
@ -380,11 +381,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1754689972,
"narHash": "sha256-eogqv6FqZXHgqrbZzHnq43GalnRbLTkbBbFtEfm1RSc=",
"lastModified": 1761016216,
"narHash": "sha256-G/iC4t/9j/52i/nm+0/4ybBmAF4hzR8CNHC75qEhjHo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "fc756aa6f5d3e2e5666efcf865d190701fef150a",
"rev": "481cf557888e05d3128a76f14c76397b7d7cc869",
"type": "github"
},
"original": {
@ -395,11 +396,11 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1754214453,
"narHash": "sha256-Q/I2xJn/j1wpkGhWkQnm20nShYnG7TI99foDBpXm1SY=",
"lastModified": 1761114652,
"narHash": "sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d+dAiC3H+CDle4=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "5b09dc45f24cf32316283e62aec81ffee3c3e376",
"rev": "01f116e4df6a15f4ccdffb1bcd41096869fb385c",
"type": "github"
},
"original": {
@ -419,11 +420,11 @@
"systems": "systems_2"
},
"locked": {
"lastModified": 1754262585,
"narHash": "sha256-Yz5dJ0VzGRzSRHdHldsWQbuFYmtP3NWNreCvPfCi9CI=",
"lastModified": 1760795571,
"narHash": "sha256-gi+tWWAknKuTNso3yMeKsT9nj0jx+tuYF7g7nmLUWT8=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "ab1b5962e1ca90b42de47e1172e0d24ca80e6256",
"rev": "6c945865ba5de87fa2d0dd8a0e66ca572ddf9043",
"type": "github"
},
"original": {
@ -469,11 +470,11 @@
]
},
"locked": {
"lastModified": 1753771532,
"narHash": "sha256-Pmpke0JtLRzgdlwDC5a+aiLVZ11JPUO5Bcqkj0nHE/k=",
"lastModified": 1760652422,
"narHash": "sha256-C88Pgz38QIl9JxQceexqL2G7sw9vodHWx1Uaq+NRJrw=",
"owner": "NuschtOS",
"repo": "search",
"rev": "2a65adaf2c0c428efb0f4a2bc406aab466e96a06",
"rev": "3ebeebe8b6a49dfb11f771f761e0310f7c48d726",
"type": "github"
},
"original": {
@ -502,11 +503,11 @@
]
},
"locked": {
"lastModified": 1754328224,
"narHash": "sha256-glPK8DF329/dXtosV7YSzRlF4n35WDjaVwdOMEoEXHA=",
"lastModified": 1760998189,
"narHash": "sha256-ee2e1/AeGL5X8oy/HXsZQvZnae6XfEVdstGopKucYLY=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "49021900e69812ba7ddb9e40f9170218a7eca9f4",
"rev": "5a7d18b5c55642df5c432aadb757140edfeb70b3",
"type": "github"
},
"original": {
@ -536,11 +537,11 @@
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1754599117,
"narHash": "sha256-AzAYdZlat002vCjCKWdFpGi2xUaiOU4DtIPnv1nomD8=",
"lastModified": 1760478648,
"narHash": "sha256-Y4l+Y3zUvqIDbyLrtOrzNvp1o50Fp9TYK+iwtwweFU4=",
"owner": "danth",
"repo": "stylix",
"rev": "312dec38b2231b21f36903d1bdce96daa11548ff",
"rev": "1ec254101285777db13922303cc47ded06e10bb3",
"type": "github"
},
"original": {
@ -701,16 +702,16 @@
"xwayland-satellite-stable": {
"flake": false,
"locked": {
"lastModified": 1748488455,
"narHash": "sha256-IiLr1alzKFIy5tGGpDlabQbe6LV1c9ABvkH6T5WmyRI=",
"lastModified": 1755491097,
"narHash": "sha256-m+9tUfsmBeF2Gn4HWa6vSITZ4Gz1eA1F5Kh62B0N4oE=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "3ba30b149f9eb2bbf42cf4758d2158ca8cceef73",
"rev": "388d291e82ffbc73be18169d39470f340707edaa",
"type": "github"
},
"original": {
"owner": "Supreeeme",
"ref": "v0.6",
"ref": "v0.7",
"repo": "xwayland-satellite",
"type": "github"
}
@ -718,11 +719,11 @@
"xwayland-satellite-unstable": {
"flake": false,
"locked": {
"lastModified": 1754533920,
"narHash": "sha256-fCZ68Yud1sUCq6UNXj0SDyiBgVA8gJUE+14ZFGsFJG8=",
"lastModified": 1761173223,
"narHash": "sha256-FumZh+fPRaKXkl9Y1uTh5KV7Io/AyOZso+UkqLhLArs=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "e0d1dad25a158551ab58547b2ece4b7d5a19929c",
"rev": "bf745144acda1343934e9a094cf9458a54d57889",
"type": "github"
},
"original": {
@ -736,11 +737,11 @@
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1754540523,
"narHash": "sha256-Wgv2qVckt8q11/xErY7hYdLAPcoOnZ0BkMLqyXegCzQ=",
"lastModified": 1761192367,
"narHash": "sha256-HdAtNWms1rrswlfuX5NUR9RYCMLUJHEzF986hQ0tUCw=",
"owner": "youwen5",
"repo": "zen-browser-flake",
"rev": "451454de40a4433174153e823994fe2ecd3c869e",
"rev": "1ce32754f78d1d7d6bf9cb44a48a06dac8bb6785",
"type": "github"
},
"original": {

View file

@ -42,8 +42,6 @@
pkgs = import inputs.nixpkgs {inherit system;};
user = "tristan";
userFullname = "Tristan Beedell";
# auto-login = import ./nixos/programs/auto-login.nix;
mkConf = import ./lib/mkconf.nix {inherit inputs system user userFullname;};
in {
formatter.${system} = pkgs.alejandra;
@ -51,7 +49,6 @@
zenix = mkConf {
nixos-modules = [
./hardware/zenix.nix
./nixos/programs/cosmic.nix
./nixos/programs/niri.nix
./nixos/programs/gamer.nix
./nixos/programs/personal.nix
@ -62,7 +59,6 @@
./home/programs/graphical.nix
./home/programs/gamer.nix
./home/programs/personal/.
./home/desktop/cosmic/.
];
};
@ -71,13 +67,11 @@
./hardware/framework-13.nix
./nixos/workstation.nix
./nixos/modules/work.nix
./nixos/programs/cosmic.nix
./nixos/programs/niri.nix
];
home-modules = [
./home/programs/work.nix
./home/programs/graphical.nix
./home/desktop/cosmic/.
];
};

View file

@ -57,6 +57,8 @@
networking.hostName = "framework-13";
services.hardware.bolt.enable = true;
system.stateVersion = "24.11"; # do not change
home-manager.users.${config.user}.imports = [
{
@ -77,6 +79,41 @@
}
'';
};
programs.niri.settings.outputs = {
# Laptop display
"eDP-1" = {
mode = {
width = 2256;
height = 1504;
refresh = 59.999;
};
};
"HP Inc. HP 24x 1CR9500W9Q" = {
mode = {
width = 1920;
height = 1080;
refresh = 144.001;
};
scale = 1.0;
position = {
x = 2256;
y = 0;
};
};
"Ancor Communications Inc ASUS VS228 F3LMTF154813" = {
mode = {
width = 1920;
height = 1080;
refresh = 60.0;
};
scale = 1.0;
position = {
x = 2256 + 1920;
y = 0;
};
};
};
}
];

View file

@ -1,12 +1,9 @@
{
config,
lib,
pkgs,
modulesPath,
user,
...
}: let
user = config.user;
in {
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
./ddc.nix
@ -31,10 +28,6 @@ in {
options = ["noatime"];
};
# boot.initrd.luks.devices."usbkey" = {
# device = "/dev/disk/by-label/usbkey1";
# };
boot.initrd.luks.devices."cryptroot" = {
device = "/dev/disk/by-uuid/cc0617df-8cbf-4618-abbc-df64c96de151";
};
@ -73,6 +66,14 @@ in {
hardware.cpu.amd.updateMicrocode = true;
hardware.cpu.x86.msr.enable = true;
hardware.amdgpu = {
opencl.enable = true;
amdvlk = {
enable = true;
support32Bit.enable = true;
};
};
networking.hostName = "zenix";
services.openssh.enable = true;
@ -84,6 +85,26 @@ in {
home-manager.users.${user}.imports = [
{
home.stateVersion = "22.05";
programs.niri.settings = {
outputs."HP Inc. HP 24x 1CR9500W9Q" = {
mode = {
width = 1920;
height = 1080;
refresh = 143.855;
};
variable-refresh-rate = true;
scale = 1.0;
};
outputs."HDMI-A-1" = {
mode = {
width = 3840;
height = 2160;
refresh = 120.0;
};
variable-refresh-rate = true;
scale = 2.5;
};
};
}
];
}

View file

@ -41,6 +41,8 @@
programs.yazi.enable = true;
programs.bat.enable = true;
programs.zoxide.enable = true;
programs.rbw = {

View file

@ -11,6 +11,7 @@
];
programs.waybar.settings.mainBar.modules-left = ["niri/workspaces" "niri/window"];
programs.waybar.settings.mainBar.modules-right = lib.mkBefore ["niri/language"];
programs.fuzzel = {
enable = true;
@ -32,9 +33,9 @@
programs.niri = {
settings = {
input.keyboard = {
xkb.layout = "us";
xkb.variant = "dvorak";
xkb.options = "caps:escape";
xkb.layout = "us,gb";
xkb.variant = "dvorak,";
xkb.options = "caps:escape,esperanto:qwerty,lv3:ralt_switch";
};
input.mouse = {
accel-profile = "flat";
@ -46,9 +47,9 @@
dwt = true; # disable when typing
};
prefer-no-csd = true;
spawn-at-startup = [
{command = [(lib.getExe pkgs.xwayland-satellite)];}
];
xwayland-satellite = {
path = lib.getExe pkgs.xwayland-satellite;
};
layout = {
preset-column-widths = [
{proportion = 1.0;}
@ -57,25 +58,6 @@
};
environment = {
NIXOS_OZONE_WL = "1";
DISPLAY = ":1";
};
outputs."DP-3" = {
mode = {
width = 1920;
height = 1080;
refresh = 143.855;
};
variable-refresh-rate = true;
scale = 1.0;
};
outputs."HDMI-A-1" = {
mode = {
width = 3840;
height = 2160;
refresh = 120.0;
};
variable-refresh-rate = true;
scale = 2.5;
};
binds = with config.lib.niri.actions; {
"Mod+Return".action.spawn = [(lib.getExe config.programs.terminal)];
@ -128,8 +110,9 @@
"Mod+M".action = switch-preset-column-width;
"Mod+G".action = toggle-window-floating;
"Mod+Shift+Ctrl+Alt+Space".action = switch-layout "next";
"Print".action = screenshot;
"Print".action.screenshot = [];
"XF86AudioRaiseVolume".action.spawn = ["raise-volume"];
"XF86AudioLowerVolume".action.spawn = ["lower-volume"];

View file

@ -7,7 +7,7 @@
layer = "bottom";
position = "top";
height = 36;
modules-right = ["mpris" "power-profiles-daemon" "cpu" "idle_inhibitor" "pulseaudio" "clock" "tray" "battery"];
modules-right = ["mpris" "power-profiles-daemon" "cpu" "idle_inhibitor" "wireplumber" "clock" "tray" "battery"];
"cpu" = {
"format" = "{icon}";
"format-icons" = ["" "" "" "" "" "" "" ""];
@ -35,24 +35,19 @@
tooltip-format-activated = "system sleep inhibited";
tooltip-format-deactivated = "system will sleep when idle";
};
pulseaudio = {
format-muted = "🔇 {volume}";
format = "{icon} {volume}";
format-icons.default = ["🔈" "🔉" "🔊"];
on-click = "${pkgs.pavucontrol}/bin/pavucontrol";
wireplumber = {
format-muted = "🔇";
format = "{icon} {volume}%";
format-icons = ["🔈" "🔉" "🔊"];
on-click = "pwvucontrol";
};
mpris = {
format = "{player_icon} {title}";
format-paused = " {player_icon} {title}";
player-icons = {
default = "";
mpd = "🎵";
kdeconnect = "";
};
format = " {title}";
format-paused = " {title}";
};
battery = {
format = "{icon} {capacity}%";
format-icons = ["🤏" "🪫" "🔋" "🔋"];
format-icons = ["🪫" "🔋" "🔋"];
format-charging = "🔌 {capacity}%";
states = {
warning = 30;

View file

@ -71,7 +71,6 @@ in {
sidebar.enable = true;
};
programs.mbsync.enable = cfg.terminal;
services.mbsync.enable = cfg.terminal;
programs.aerc = {
enable = cfg.terminal;

View file

@ -8,7 +8,6 @@
# Helpers
heroic
lutris
gamescope
gamemode
mangohud

View file

@ -25,7 +25,6 @@
youtube-music
transmission_4-gtk
feishin
grayjay
# other
element-desktop

View file

@ -1,6 +1,7 @@
{
config,
pkgs,
lib,
...
}: let
modifier = config.windowManager.modifierKey;
@ -43,7 +44,7 @@ in {
home.sessionVariables = {
CYPRESS_INSTALL_BINARY = 0;
CYPRESS_RUN_BINARY = "${pkgs.cypress}/bin/Cypress";
MONGOMS_SYSTEM_BINARY = "${pkgs.callPackage ../../pkgs/mongodb.nix pkgs}/bin/mongod";
MONGOMS_SYSTEM_BINARY = lib.getExe' pkgs.mongodb-7_0 "mongod";
};
gtk.gtk3.bookmarks = [

View file

@ -28,7 +28,6 @@
playerctl
quickemu
devenv
bottles
];
services.udiskie = {

View file

@ -1,13 +1,11 @@
# https://search.nixos.org/options
{
inputs,
config,
pkgs,
lib,
user,
...
}: let
user = config.user;
in {
}: {
nix = {
settings = {
experimental-features = ["nix-command" "flakes" "pipe-operators"];
@ -98,6 +96,7 @@ in {
nix-tree
comma
jq
bat
];
boot.kernel.sysctl = {

View file

@ -12,6 +12,7 @@ in {
"steam-run"
"postman"
"drawio" # the creator had a hissyfit over a negative review: https://github.com/jgraph/drawio/discussions/4623
"mongodb"
];
nixpkgs.config.permittedInsecurePackages = [

View file

@ -1,10 +0,0 @@
command: {user, ...}: {
services.greetd = {
enable = true;
settings = {
default_session = {
inherit command user;
};
};
};
}

View file

@ -12,10 +12,13 @@
dedicatedServer.openFirewall = true;
gamescopeSession = {
enable = true;
args = ["-r" "120" "-W" "3840" "-H" "2160" "-O" "HDMI-A-1" "--rt" "--hdr-enabled" "--adaptive-sync"];
args = ["-r" "120" "-W" "3840" "-H" "2160" "-O" "HDMI-A-1" "--rt" "--hdr-enabled" "--adaptive-sync" "--xwayland-count" "2"];
env = {
PROTON_ENABLE_WAYLAND = "1";
PROTON_ENABLE_HDR = "1";
ENABLE_HDR_WSI = "1";
DXVK_HDR = "1";
STEAM_MULTIPLE_XWAYLANDS = "1";
};
};
};

View file

@ -1,15 +1,27 @@
{config, lib, pkgs, ...}: let
{
config,
lib,
pkgs,
...
}: let
cfg = config.services.grafana;
secrets = config.sops.secrets;
mkDashboards = dashboards: pkgs.symlinkJoin {
name = "dashboards";
paths = map mkDashboard dashboards;
};
mkDashboard = {name, url, sha256, patch ? lib.id}: pkgs.writeTextFile {
inherit name;
text = patch (builtins.readFile ( builtins.fetchurl {inherit url sha256;} ));
destination = "/dash/${name}.json";
};
mkDashboards = dashboards:
pkgs.symlinkJoin {
name = "dashboards";
paths = map mkDashboard dashboards;
};
mkDashboard = {
name,
url,
sha256,
patch ? lib.id,
}:
pkgs.writeTextFile {
inherit name;
text = patch (builtins.readFile (builtins.fetchurl {inherit url sha256;}));
destination = "/dash/${name}.json";
};
in {
sops.secrets."grafana/oidc_client_secret" = {
owner = "grafana";
@ -34,24 +46,26 @@ in {
role_attribute_path = "contains(groups[*], 'Grafana Admins') && 'Admin' || contains(groups[*], 'Grafana Editors') && 'Editor' || 'Viewer'";
};
};
provision.dashboards.settings.providers = [{
name = "Node Exporter";
type = "file";
options.path = mkDashboards [
provision.dashboards.settings.providers = [
{
name = "node-exporter";
url = "https://grafana.com/api/dashboards/1860/revisions/37/download";
sha256 = "sha256:0qza4j8lywrj08bqbww52dgh2p2b9rkhq5p313g72i57lrlkacfl";
# https://github.com/rfmoz/grafana-dashboards/issues/169
patch = builtins.replaceStrings ["$__rate_interval"] ["$__range"];
name = "Node Exporter";
type = "file";
options.path = mkDashboards [
{
name = "node-exporter";
url = "https://grafana.com/api/dashboards/1860/revisions/37/download";
sha256 = "sha256:0qza4j8lywrj08bqbww52dgh2p2b9rkhq5p313g72i57lrlkacfl";
# https://github.com/rfmoz/grafana-dashboards/issues/169
patch = builtins.replaceStrings ["$__rate_interval"] ["$__range"];
}
{
name = "synapse";
url = "https://raw.githubusercontent.com/element-hq/synapse/refs/heads/master/contrib/grafana/synapse.json";
sha256 = "sha256:0yzj1i4zbjy9cms75ip6ad8qyjgv9kka42gxsbzyzr2syznsmqw0";
}
];
}
{
name = "synapse";
url = "https://raw.githubusercontent.com/element-hq/synapse/refs/heads/master/contrib/grafana/synapse.json";
sha256 = "sha256:16fl81sx1by0wldw4vda0zr1pvbq1dpih1fikzwlvmk63mpc80kb";
}
];
}];
];
};
services.nginx.virtualHosts = {
${cfg.settings.server.domain} = {

View file

@ -8,9 +8,13 @@
extraConfig = ''
prune-blockchain=1
confirm-external-bind=1
out-peers=64 # This will enable much faster sync and tx awareness; the default 8 is suboptimal nowadays
in-peers=1024 # The default is unlimited; we prefer to put a cap on this
out-peers=8
in-peers=16
zmq-pub=tcp://localhost:18083
add-priority-node=p2pmd.xmrvsbeast.com:18080
add-priority-node=nodes.hashvault.pro:18080
enable-dns-blocklist=1
enforce-dns-checkpointing=1
'';
};
}

View file

@ -25,5 +25,22 @@
carla
drumgizmo
distrho-ports
surge
surge-XT
guitarix
gxplugins-lv2
airwindows-lv2
mod-distortion
mod-arpeggiator-lv2
aether-lv2
neural-amp-modeler-lv2
bchoppr
bshapr
chow-tape-model
chow-kick
chow-phaser
chow-centaur
quadrafuzz
fire
];
}

View file

@ -3,6 +3,7 @@
pkgs,
lib,
config,
user,
...
}: {
imports = [
@ -21,12 +22,11 @@
hardware.bluetooth.enable = true;
services.blueman.enable = true;
services.power-profiles-daemon.enable = true;
services.gnome.gnome-keyring.enable = true;
programs.kdeconnect.enable = true;
virtualisation.waydroid.enable = true;
services.displayManager.cosmic-greeter.enable = true;
networking.stevenblack = {
enable = lib.mkDefault true;
@ -76,18 +76,11 @@
};
qt.enable = true;
nixpkgs.overlays = [
(final: prev: {
interalia = prev.callPackage ../pkgs/interalia.nix {};
})
];
fonts.packages = with pkgs; [
nerd-fonts.symbols-only
interalia
];
home-manager.users.${config.user}.imports = [
home-manager.users.${user}.imports = [
../home/workstation.nix
];