This commit is contained in:
mjallen18
2025-08-20 18:19:20 -05:00
parent b937a85dcc
commit 24c1580452
31 changed files with 351 additions and 463 deletions

View File

@@ -57,4 +57,8 @@ in
programs = { programs = {
zsh.shellAliases = shellAliases; zsh.shellAliases = shellAliases;
}; };
services = {
kdeconnect.enable = false;
};
} }

View File

@@ -78,6 +78,6 @@ in
mgba mgba
prismlauncher prismlauncher
ryujinx-greemdev ryujinx-greemdev
vmware-horizon-client omnissa-horizon-client
]; ];
} }

View File

@@ -292,7 +292,8 @@ in
"tag +waydroid, class:([Ww]aydroid.*)" "tag +waydroid, class:([Ww]aydroid.*)"
"float, tag:waydroid" "float, tag:waydroid"
"pin, tag:waydroid" "pin, tag:waydroid"
] ++ cfg.windowRule; ]
++ cfg.windowRule;
plugin = { plugin = {
touch_gestures = { touch_gestures = {
@@ -395,16 +396,15 @@ in
}; };
}; };
extraConfig = extraConfig = ''
'' exec-once = dbus-update-activation-environment --systemd --all
exec-once = dbus-update-activation-environment --systemd --all exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 exec-once = xhost +SI:localuser:root
exec-once = xhost +SI:localuser:root exec-once = nwg-look -a
exec-once = nwg-look -a exec-once = nwg-dock-hyprland -d
exec-once = nwg-dock-hyprland -d ''
'' + cfg.extraConfig or '''';
+ cfg.extraConfig or '''';
}; };
}; };
} }

View File

@@ -12,7 +12,7 @@ in
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
programs.hyprlock = { programs.hyprlock = {
enable = false; enable = true;
settings = { settings = {
background = [ background = [
{ {

View File

@@ -52,10 +52,14 @@
nh = { nh = {
enable = true; enable = true;
flake = "/etc/nixos"; flake = "/etc/nixos";
clean = {
enable = true;
extraArgs = "--keep 5";
};
}; };
micro = { micro = {
enable = true; enable = lib.mkDefault true;
settings = { settings = {
autoindent = true; autoindent = true;
autosu = true; autosu = true;
@@ -66,7 +70,7 @@
}; };
tmux = { tmux = {
enable = true; enable = lib.mkDefault true;
terminal = "screen-256color"; terminal = "screen-256color";
sensibleOnTop = true; sensibleOnTop = true;
focusEvents = true; focusEvents = true;
@@ -109,8 +113,8 @@
nextcloud-client.enable = lib.mkDefault true; nextcloud-client.enable = lib.mkDefault true;
pass-secret-service.enable = lib.mkDefault true; pass-secret-service.enable = lib.mkDefault true;
kdeconnect = { kdeconnect = {
enable = true; enable = lib.mkDefault true;
indicator = true; indicator = lib.mkDefault true;
}; };
}; };
} }

View File

@@ -80,9 +80,9 @@ in
"custom/right-end" "custom/right-end"
]; ];
# modules-right = [ # modules-right = [
# "tray" # "tray"
# "custom/left-end" ] ++ # "custom/left-end" ] ++
# cfg.modules-right ++ # cfg.modules-right ++
# [ "custom/right-end" ]; # [ "custom/right-end" ];
@@ -323,262 +323,262 @@ in
format = "&nbsp"; format = "&nbsp";
tooltip = false; tooltip = false;
}; };
} // cfg.extraModules; }
// cfg.extraModules;
}; };
# * { font-size: 13px; } # * { font-size: 13px; }
# window.eDP-1 * { font-size: 10px; } # window.eDP-1 * { font-size: 10px; }
style = style = ''
'' .blink_me {
.blink_me { animation: blinker 1s linear infinite;
animation: blinker 1s linear infinite; }
@keyframes blinker {
50% {
color: ${nord.aurora.nord11};
} }
}
@keyframes blinker { * {
50% { font-family:
color: ${nord.aurora.nord11}; Jetbrains Mono Nerd Font,
} monospace;
} font-size: 14px;
min-height: 0;
}
* { #waybar {
font-family: background: transparent;
Jetbrains Mono Nerd Font, color: ${nord.snowStorm.nord6};
monospace; margin: 5px 5px;
font-size: 14px; }
min-height: 0;
}
#waybar { #workspaces {
background: transparent; background-color: ${nord.polarNight.nord0};
color: ${nord.snowStorm.nord6}; ${defaultBorderRadius}
margin: 5px 5px; ${defaultOpacity}
} ${defaultCenterOptions}
margin-left: 0.6rem;
}
#workspaces { #workspaces button {
background-color: ${nord.polarNight.nord0}; color: ${nord.frost.nord10};
${defaultBorderRadius} ${defaultBorderRadius}
${defaultOpacity} padding: 0.4rem;
${defaultCenterOptions} }
margin-left: 0.6rem;
}
#workspaces button { #workspaces button.active {
color: ${nord.frost.nord10}; color: ${nord.frost.nord8};
${defaultBorderRadius} ${defaultBorderRadius}
padding: 0.4rem; }
}
#workspaces button.active { #workspaces button:hover {
color: ${nord.frost.nord8}; color: ${nord.frost.nord7};
${defaultBorderRadius} ${defaultBorderRadius}
} }
#workspaces button:hover { #workspaces button.focused {
color: ${nord.frost.nord7}; color: ${nord.snowStorm.nord6};
${defaultBorderRadius} background: ${nord.aurora.nord13};
} ${defaultBorderRadius}
}
#workspaces button.focused { #workspaces button.urgent {
color: ${nord.snowStorm.nord6}; color: ${nord.polarNight.nord0};
background: ${nord.aurora.nord13}; background: ${nord.snowStorm.nord6};
${defaultBorderRadius} ${defaultBorderRadius}
} }
#workspaces button.urgent { #tooltip {
color: ${nord.polarNight.nord0}; background: ${nord.polarNight.nord0};
background: ${nord.snowStorm.nord6}; border-color: ${nord.polarNight.nord0};
${defaultBorderRadius} ${defaultBorderRadius}
} border-width: 1rem;
border-style: solid;
}
#tooltip { #window {
background: ${nord.polarNight.nord0}; color: ${nord.aurora.nord15};
border-color: ${nord.polarNight.nord0}; background-color: ${nord.polarNight.nord0};
${defaultBorderRadius} ${defaultOpacity}
border-width: 1rem; ${defaultBorderRadius}
border-style: solid; ${defaultCenterOptions}
} margin-left: 4rem;
margin-right: ${toString cfg.windowOffset}rem;
}
#window { /* make window module transparent when no windows present */
color: ${nord.aurora.nord15}; #window.empty {
background-color: ${nord.polarNight.nord0}; background-color: transparent;
${defaultOpacity} }
${defaultBorderRadius}
${defaultCenterOptions}
margin-left: 4rem;
margin-right: ${toString cfg.windowOffset}rem;
}
/* make window module transparent when no windows present */ #custom-weather {
#window.empty { color: ${nord.frost.nord10};
background-color: transparent; background-color: ${nord.polarNight.nord0};
} ${defaultOpacity}
${defaultCenterOptions}
border-radius: 0;
}
#custom-weather { #battery {
color: ${nord.frost.nord10}; color: ${nord.aurora.nord15};
background-color: ${nord.polarNight.nord0}; background-color: ${nord.polarNight.nord0};
${defaultOpacity} ${defaultOpacity}
${defaultCenterOptions} ${defaultCenterOptions}
border-radius: 0; border-radius: 0;
} min-width: 3rem;
}
#battery { #clock {
color: ${nord.aurora.nord15}; color: ${nord.frost.nord9};
background-color: ${nord.polarNight.nord0}; background-color: ${nord.polarNight.nord0};
${defaultOpacity} ${defaultOpacity}
${defaultCenterOptions} ${defaultCenterOptions}
border-radius: 0; border-radius: 0;
min-width: 3rem; }
}
#clock { /* ------------- */
color: ${nord.frost.nord9};
background-color: ${nord.polarNight.nord0};
${defaultOpacity}
${defaultCenterOptions}
border-radius: 0;
}
/* ------------- */ #idle_inhibitor {
color: ${nord.frost.nord10};
background-color: ${nord.polarNight.nord0};
${defaultOpacity}
${defaultCenterOptions}
border-radius: 0;
padding-right: 1rem;
}
#idle_inhibitor { #idle_inhibitor:hover {
color: ${nord.frost.nord10}; background: ${nord.polarNight.nord3};
background-color: ${nord.polarNight.nord0}; }
${defaultOpacity}
${defaultCenterOptions}
border-radius: 0;
padding-right: 1rem;
}
#idle_inhibitor:hover { #network {
background: ${nord.polarNight.nord3}; color: ${nord.aurora.nord15};
} background-color: ${nord.polarNight.nord0};
${defaultOpacity}
${defaultCenterOptions}
border-radius: 0;
padding-right: 15px;
}
#network { #network:hover {
color: ${nord.aurora.nord15}; background: ${nord.polarNight.nord3};
background-color: ${nord.polarNight.nord0}; }
${defaultOpacity}
${defaultCenterOptions}
border-radius: 0;
padding-right: 15px;
}
#network:hover { #bluetooth {
background: ${nord.polarNight.nord3}; color: ${nord.frost.nord9};
} background-color: ${nord.polarNight.nord0};
${defaultOpacity}
${defaultCenterOptions}
border-radius: 0;
}
#bluetooth { #bluetooth:hover {
color: ${nord.frost.nord9}; background: ${nord.polarNight.nord3};
background-color: ${nord.polarNight.nord0}; }
${defaultOpacity}
${defaultCenterOptions}
border-radius: 0;
}
#bluetooth:hover { #wireplumber.source {
background: ${nord.polarNight.nord3}; color: ${nord.frost.nord8};
} background-color: ${nord.polarNight.nord0};
${defaultOpacity}
${defaultCenterOptions}
border-radius: 0;
}
#wireplumber.source { #wireplumber.source.muted {
color: ${nord.frost.nord8}; animation-name: blinker;
background-color: ${nord.polarNight.nord0}; animation-duration: 2s;
${defaultOpacity} animation-timing-function: linear;
${defaultCenterOptions} animation-iteration-count: infinite;
border-radius: 0; padding-right: 1rem;
} }
#wireplumber.source.muted { #wireplumber.source:hover {
animation-name: blinker; background: ${nord.polarNight.nord3};
animation-duration: 2s; }
animation-timing-function: linear;
animation-iteration-count: infinite;
padding-right: 1rem;
}
#wireplumber.source:hover { #wireplumber.sink {
background: ${nord.polarNight.nord3}; color: ${nord.frost.nord7};
} background-color: ${nord.polarNight.nord0};
${defaultOpacity}
${defaultCenterOptions}
border-radius: 0;
}
#wireplumber.sink { #wireplumber.sink.muted {
color: ${nord.frost.nord7}; animation-name: blinker;
background-color: ${nord.polarNight.nord0}; animation-duration: 5s;
${defaultOpacity} animation-timing-function: linear;
${defaultCenterOptions} animation-iteration-count: infinite;
border-radius: 0; }
}
#wireplumber.sink.muted { #wireplumber.sink:hover {
animation-name: blinker; background: ${nord.polarNight.nord3};
animation-duration: 5s; }
animation-timing-function: linear;
animation-iteration-count: infinite;
}
#wireplumber.sink:hover { #keyboard-state.numlock {
background: ${nord.polarNight.nord3}; color: ${nord.frost.nord8};
} background-color: ${nord.polarNight.nord0};
${defaultOpacity}
${defaultCenterOptions}
border-radius: 0;
}
#keyboard-state.numlock { #keyboard-state.capslock {
color: ${nord.frost.nord8}; color: ${nord.frost.nord9};
background-color: ${nord.polarNight.nord0}; background-color: ${nord.polarNight.nord0};
${defaultOpacity} ${defaultOpacity}
${defaultCenterOptions} ${defaultCenterOptions}
border-radius: 0; border-radius: 0;
} }
#keyboard-state.capslock { #temperature.gpu {
color: ${nord.frost.nord9}; color: ${nord.frost.nord10};
background-color: ${nord.polarNight.nord0}; background-color: ${nord.polarNight.nord0};
${defaultOpacity} ${defaultOpacity}
${defaultCenterOptions} ${defaultCenterOptions}
border-radius: 0; border-radius: 0;
} }
#temperature.gpu { #temperature.gpu:hover {
color: ${nord.frost.nord10}; background: ${nord.polarNight.nord3};
background-color: ${nord.polarNight.nord0}; }
${defaultOpacity}
${defaultCenterOptions}
border-radius: 0;
}
#temperature.gpu:hover { #temperature {
background: ${nord.polarNight.nord3}; color: ${nord.frost.nord9};
} background-color: ${nord.polarNight.nord0};
${defaultOpacity}
${defaultCenterOptions}
border-radius: 0
}
#temperature { /* ------------- */
color: ${nord.frost.nord9};
background-color: ${nord.polarNight.nord0};
${defaultOpacity}
${defaultCenterOptions}
border-radius: 0
}
/* ------------- */ #tray {
background-color: ${nord.polarNight.nord0};
${defaultOpacity}
${defaultCenterOptions}
${defaultBorderRadius}
margin-right: 0.6rem;
}
#tray { /* ------------- */
background-color: ${nord.polarNight.nord0};
${defaultOpacity}
${defaultCenterOptions}
${defaultBorderRadius}
margin-right: 0.6rem;
}
/* ------------- */ #custom-left-end {
background-color: ${nord.polarNight.nord0};
${defaultOpacity}
${borderLeft}
}
#custom-left-end { #custom-right-end {
background-color: ${nord.polarNight.nord0}; background-color: ${nord.polarNight.nord0};
${defaultOpacity} ${defaultOpacity}
${borderLeft} ${borderRight}
} }
''
#custom-right-end { + cfg.extraModulesStyle or '''';
background-color: ${nord.polarNight.nord0};
${defaultOpacity}
${borderRight}
}
''
+ cfg.extraModulesStyle or '''';
}; };
}; };
} }

View File

@@ -65,20 +65,19 @@ in
]; ];
home = { home = {
file = file = {
{ "Desktop/.keep".text = "";
"Desktop/.keep".text = ""; "Documents/.keep".text = "";
"Documents/.keep".text = ""; "Downloads/.keep".text = "";
"Downloads/.keep".text = ""; "Music/.keep".text = "";
"Music/.keep".text = ""; "Pictures/.keep".text = "";
"Pictures/.keep".text = ""; "Videos/.keep".text = "";
"Videos/.keep".text = ""; }
} // lib.optionalAttrs (cfg.icon != null) {
// lib.optionalAttrs (cfg.icon != null) { ".face".source = cfg.icon;
".face".source = cfg.icon; ".face.icon".source = cfg.icon;
".face.icon".source = cfg.icon; "Pictures/${cfg.icon.fileName or (builtins.baseNameOf cfg.icon)}".source = cfg.icon;
"Pictures/${cfg.icon.fileName or (builtins.baseNameOf cfg.icon)}".source = cfg.icon; };
};
homeDirectory = mkDefault cfg.home; homeDirectory = mkDefault cfg.home;

View File

@@ -28,7 +28,7 @@ in
programs = { programs = {
kdeconnect = { kdeconnect = {
enable = true; enable = lib.mkDefault true;
package = pkgs.gnomeExtensions.gsconnect; package = pkgs.gnomeExtensions.gsconnect;
}; };
}; };

View File

@@ -256,7 +256,7 @@ in
openhasp = { openhasp = {
plate = { plate = {
objects = [ objects = [
{ {
obj = "p0b1"; # temperature label on all pages obj = "p0b1"; # temperature label on all pages
properties = { properties = {
"text" = ''{{ states("sensor.thermostat_current_temperature") }}°F''; "text" = ''{{ states("sensor.thermostat_current_temperature") }}°F'';
@@ -265,8 +265,8 @@ in
{ {
obj = "p1b2"; # light-switch toggle button obj = "p1b2"; # light-switch toggle button
properties = { properties = {
"val" = ''{{ 1 if states("light.living_room_lights") == "on" else 0 }}''; "val" = ''{{ 1 if states("light.living_room_lights") == "on" else 0 }}'';
"text" = ''{{ "\uE6E8" if is_state("light.living_room_lights", "on") else "\uE335" | e }}''; "text" = ''{{ "\uE6E8" if is_state("light.living_room_lights", "on") else "\uE335" | e }}'';
}; };
event = { event = {
"up" = { "up" = {

View File

@@ -8,18 +8,6 @@
with lib; with lib;
let let
cfg = config.${namespace}.services.ollama; cfg = config.${namespace}.services.ollama;
llamaPackage = pkgs.llama-cpp.overrideAttrs (_old: {
src = pkgs.fetchFromGitHub {
owner = "ggml-org";
repo = "llama.cpp";
rev = "b4920";
sha256 = "sha256-SnQIeY74JpAPRMxWcpklDH5D4CQvAgi0GYx5+ECk2J4=";
};
# Optionally override other attributes if you need to
# version = "my-fork-version";
# pname = "llama-cpp-custom";
});
in in
{ {
imports = [ ./options.nix ]; imports = [ ./options.nix ];

View File

@@ -64,7 +64,8 @@ in
"power" "power"
"nix" "nix"
"i2c" "i2c"
] ++ cfg.extraGroups; ]
++ cfg.extraGroups;
group = "users"; group = "users";
home = "/home/${cfg.name}"; home = "/home/${cfg.name}";
@@ -72,6 +73,7 @@ in
shell = lib.mkForce pkgs.zsh; shell = lib.mkForce pkgs.zsh;
uid = 1000; uid = 1000;
hashedPasswordFile = cfg.passwordFile; hashedPasswordFile = cfg.passwordFile;
} // cfg.extraOptions; }
// cfg.extraOptions;
}; };
} }

View File

@@ -1,8 +1,8 @@
{ lib {
, stdenv lib,
, fetchurl fetchurl,
, vscode-utils vscode-utils,
, pkgs pkgs,
}: }:
let let
@@ -14,10 +14,9 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = { mktplcRef = {
inherit name publisher version; inherit name publisher version;
}; };
vsix = fetchurl { vsix = fetchurl {
url = "https://open-vsx.org/api/${publisher}/${name}/${version}/file/${publisher}.${name}-${version}.vsix"; url = "https://open-vsx.org/api/${publisher}/${name}/${version}/file/${publisher}.${name}-${version}.vsix";
# Update this hash after downloading
sha256 = "sha256-QfJnAAx+kO2iJ1EzWoO5HLogJKg3RiC3hg1/u2Jm6t4="; sha256 = "sha256-QfJnAAx+kO2iJ1EzWoO5HLogJKg3RiC3hg1/u2Jm6t4=";
}; };
@@ -33,7 +32,7 @@ vscode-utils.buildVscodeMarketplaceExtension {
and take full advantage of VS Code's feature set. This is an open-source and take full advantage of VS Code's feature set. This is an open-source
alternative to Microsoft's proprietary Remote SSH extension, designed to alternative to Microsoft's proprietary Remote SSH extension, designed to
work with VSCodium and other open-source VS Code variants. work with VSCodium and other open-source VS Code variants.
Note: This extension requires enabling proposed APIs in VSCodium/Code-OSS. Note: This extension requires enabling proposed APIs in VSCodium/Code-OSS.
You need to add "jeanp413.open-remote-ssh" to the "enable-proposed-api" You need to add "jeanp413.open-remote-ssh" to the "enable-proposed-api"
array in ~/.vscode-oss/argv.json array in ~/.vscode-oss/argv.json
@@ -41,7 +40,6 @@ vscode-utils.buildVscodeMarketplaceExtension {
homepage = "https://github.com/jeanp413/open-remote-ssh"; homepage = "https://github.com/jeanp413/open-remote-ssh";
changelog = "https://github.com/jeanp413/open-remote-ssh/releases"; changelog = "https://github.com/jeanp413/open-remote-ssh/releases";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ /* add your name here if you maintain this */ ];
platforms = platforms.all; platforms = platforms.all;
}; };
} }

View File

@@ -1,5 +1,5 @@
{ python3Packages, fetchFromGitHub, ... }: { python3Packages, fetchFromGitHub, ... }:
python3Packages.buildPythonPackage rec { python3Packages.buildPythonPackage {
pname = "pipewire-python"; pname = "pipewire-python";
version = "0.2.3"; version = "0.2.3";
format = "pyproject"; format = "pyproject";
@@ -12,6 +12,10 @@ python3Packages.buildPythonPackage rec {
}; };
buildInputs = with python3Packages; [ flit-core ]; buildInputs = with python3Packages; [ flit-core ];
nativeBuildInputs = with python3Packages; [ build wheel ]; nativeBuildInputs = with python3Packages; [
doCheck = false; # no tests in the PyPI tarball build
wheel
];
doCheck = false;
} }

View File

@@ -11,7 +11,10 @@ python3Packages.buildPythonPackage rec {
sha256 = "sha256-rEmWsCIBGNmDEecVT8O9O5/E0WVpTfA7amFI70DEmiI="; sha256 = "sha256-rEmWsCIBGNmDEecVT8O9O5/E0WVpTfA7amFI70DEmiI=";
}; };
buildInputs = with python3Packages; [ poetry-core hatchling ]; buildInputs = with python3Packages; [
poetry-core
hatchling
];
nativeBuildInputs = with python3Packages; [ nativeBuildInputs = with python3Packages; [
aiodns aiodns

View File

@@ -4,7 +4,6 @@
}: }:
{ {
imports = [ imports = [
./nix.nix
./homebrew.nix ./homebrew.nix
./programs.nix ./programs.nix
./system.nix ./system.nix

View File

@@ -1,17 +0,0 @@
{ ... }:
{
# Auto upgrade nix package and the daemon service.
# services.nix-daemon.enable = true;
# nix.package = pkgs.nix;
# Necessary for using flakes on this system.
nix = {
settings.experimental-features = "nix-command flakes";
};
# The platform the configuration will be used on.
nixpkgs = {
config.allowUnfree = true;
hostPlatform = "aarch64-darwin";
};
}

View File

@@ -1,59 +1,69 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }: {
lib,
modulesPath,
...
}:
{ {
imports = imports = [
[ (modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
]; ];
boot.initrd.availableKernelModules = [ "usb_storage" "sdhci_pci" ]; boot.initrd.availableKernelModules = [
"usb_storage"
"sdhci_pci"
];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ]; boot.kernelModules = [ ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
fileSystems."/" = fileSystems."/" = {
{ device = "none"; device = "none";
fsType = "tmpfs"; fsType = "tmpfs";
options = [ "mode=755" ]; options = [ "mode=755" ];
}; };
fileSystems."/boot" = fileSystems."/boot" = {
{ device = "/dev/disk/by-uuid/E66E-1A03"; device = "/dev/disk/by-uuid/E66E-1A03";
fsType = "vfat"; fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ]; options = [
}; "fmask=0022"
"dmask=0022"
];
};
fileSystems."/root" = fileSystems."/root" = {
{ device = "/dev/disk/by-uuid/335f1bb3-6fdb-474e-972c-77b64e930d03"; device = "/dev/disk/by-uuid/335f1bb3-6fdb-474e-972c-77b64e930d03";
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=root" ]; options = [ "subvol=root" ];
}; };
fileSystems."/etc" = fileSystems."/etc" = {
{ device = "/dev/disk/by-uuid/335f1bb3-6fdb-474e-972c-77b64e930d03"; device = "/dev/disk/by-uuid/335f1bb3-6fdb-474e-972c-77b64e930d03";
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=etc" ]; options = [ "subvol=etc" ];
}; };
fileSystems."/nix" = fileSystems."/nix" = {
{ device = "/dev/disk/by-uuid/335f1bb3-6fdb-474e-972c-77b64e930d03"; device = "/dev/disk/by-uuid/335f1bb3-6fdb-474e-972c-77b64e930d03";
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=nix" ]; options = [ "subvol=nix" ];
}; };
fileSystems."/var/log" = fileSystems."/var/log" = {
{ device = "/dev/disk/by-uuid/335f1bb3-6fdb-474e-972c-77b64e930d03"; device = "/dev/disk/by-uuid/335f1bb3-6fdb-474e-972c-77b64e930d03";
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=log" ]; options = [ "subvol=log" ];
}; };
fileSystems."/home" = fileSystems."/home" = {
{ device = "/dev/disk/by-uuid/335f1bb3-6fdb-474e-972c-77b64e930d03"; device = "/dev/disk/by-uuid/335f1bb3-6fdb-474e-972c-77b64e930d03";
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=home" ]; options = [ "subvol=home" ];
}; };
swapDevices = [ ]; swapDevices = [ ];

View File

@@ -3,7 +3,6 @@
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`). # https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
{ {
config,
lib, lib,
pkgs, pkgs,
namespace, namespace,
@@ -26,19 +25,6 @@ in
hardware.disko.enable = true; hardware.disko.enable = true;
}; };
nix = {
settings = {
substituters = [
"https://nixos-raspberrypi.cachix.org"
"https://cache.mjallen.dev"
];
trusted-public-keys = [
"nixos-raspberrypi.cachix.org-1:4iMO9LXa8BqhU+Rpg6LQKiGa2lsNh/j2oiYLNOQ5sPI="
"cache.mjallen.dev-1:IzFmKCd8/gggI6lcCXsW65qQwiCLGFFN9t9s2iw7Lvc="
];
};
};
# Configure nixpkgs # Configure nixpkgs
nixpkgs = { nixpkgs = {
overlays = lib.mkAfter [ overlays = lib.mkAfter [
@@ -53,20 +39,8 @@ in
}) })
]; ];
}; };
programs.zsh.enable = true;
hardware.i2c.enable = true; hardware.i2c.enable = true;
services = {
openssh = {
enable = true;
authorizedKeysFiles = [
config.sops.secrets."ssh-keys-public/pi5".path
];
hostKeys = [ ];
};
};
systemd.services.btattach = { systemd.services.btattach = {
before = [ "bluetooth.service" ]; before = [ "bluetooth.service" ];
after = [ "dev-ttyAMA0.device" ]; after = [ "dev-ttyAMA0.device" ];

View File

@@ -11,7 +11,7 @@
}: }:
let let
user = "matt"; user = "matt";
password = config.sops.secrets."pi5/matt-password".path; # password = config.sops.secrets."pi5/matt-password".path;
kernelBundle = pkgs.linuxAndFirmware.latest; kernelBundle = pkgs.linuxAndFirmware.latest;
in in
{ {
@@ -30,20 +30,6 @@ in
}; };
}; };
# Enable nix flakes and nix-command tools
nix = {
settings = {
substituters = [
"https://nixos-raspberrypi.cachix.org"
# "https://cache.mjallen.dev"
];
trusted-public-keys = [
"nixos-raspberrypi.cachix.org-1:4iMO9LXa8BqhU+Rpg6LQKiGa2lsNh/j2oiYLNOQ5sPI="
# "cache.mjallen.dev-1:IzFmKCd8/gggI6lcCXsW65qQwiCLGFFN9t9s2iw7Lvc="
];
};
};
# Configure nixpkgs # Configure nixpkgs
nixpkgs = { nixpkgs = {
overlays = lib.mkAfter [ overlays = lib.mkAfter [
@@ -119,5 +105,9 @@ in
users.root.shell = pkgs.zsh; users.root.shell = pkgs.zsh;
}; };
programs = {
kdeconnect.enable = false;
};
zramSwap.enable = true; zramSwap.enable = true;
} }

View File

@@ -51,17 +51,6 @@ let
]; ];
in in
{ {
# nix = {
# settings = {
# substituters = [
# "https://cache.mjallen.dev"
# ];
# trusted-public-keys = [
# "cache.mjallen.dev-1:IzFmKCd8/gggI6lcCXsW65qQwiCLGFFN9t9s2iw7Lvc="
# ];
# };
# };
chaotic.mesa-git.enable = false; chaotic.mesa-git.enable = false;
# Environment configuration # Environment configuration

View File

@@ -27,7 +27,8 @@ in
fsType = "bcachefs"; fsType = "bcachefs";
options = [ options = [
"noatime" "noatime"
] ++ defaultLocalOptions; ]
++ defaultLocalOptions;
}; };
# Network shares # Network shares

View File

@@ -32,7 +32,8 @@ in
options = [ options = [
"subvol=nix" "subvol=nix"
"noatime" "noatime"
] ++ defeaultBtrfsOptions; ]
++ defeaultBtrfsOptions;
}; };
fileSystems."/etc" = { fileSystems."/etc" = {
@@ -41,7 +42,8 @@ in
options = [ options = [
"subvol=etc" "subvol=etc"
"noatime" "noatime"
] ++ defeaultBtrfsOptions; ]
++ defeaultBtrfsOptions;
}; };
fileSystems."/root" = { fileSystems."/root" = {
@@ -50,7 +52,8 @@ in
options = [ options = [
"subvol=root" "subvol=root"
"noatime" "noatime"
] ++ defeaultBtrfsOptions; ]
++ defeaultBtrfsOptions;
}; };
fileSystems."/var/log" = { fileSystems."/var/log" = {
@@ -59,7 +62,8 @@ in
options = [ options = [
"subvol=log" "subvol=log"
"noatime" "noatime"
] ++ defeaultBtrfsOptions; ]
++ defeaultBtrfsOptions;
}; };
fileSystems."/home" = { fileSystems."/home" = {
@@ -67,7 +71,8 @@ in
fsType = "btrfs"; fsType = "btrfs";
options = [ options = [
"subvol=home" "subvol=home"
] ++ defeaultBtrfsOptions; ]
++ defeaultBtrfsOptions;
}; };
fileSystems."/boot" = { fileSystems."/boot" = {

View File

@@ -8,4 +8,4 @@
environment.variables = { environment.variables = {
LSFG_DLL_PATH = "/media/matt/data/steam/steamapps/common/Lossless Scaling/Lossless.dll"; LSFG_DLL_PATH = "/media/matt/data/steam/steamapps/common/Lossless Scaling/Lossless.dll";
}; };
} }

View File

@@ -52,7 +52,7 @@ in
clevis = { clevis = {
enable = true; enable = true;
devices = { devices = {
# "/dev/sde:/dev/sdf:/dev/sdh:/dev/sdi:/dev/sdj".secretFile = "../../../pool.jwe"; # "/dev/sde:/dev/sdf:/dev/sdh:/dev/sdi:/dev/sdj".secretFile = "../../../pool.jwe";
}; };
}; };
}; };

View File

@@ -1,4 +1,3 @@
# Edit this configuration file to define what should be installed on # Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page, on # your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`). # https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
@@ -19,7 +18,6 @@
./apps.nix ./apps.nix
./grafana.nix ./grafana.nix
./networking.nix ./networking.nix
./nixpkgs.nix
./ups.nix ./ups.nix
./users.nix ./users.nix
./samba.nix ./samba.nix
@@ -191,20 +189,4 @@
optimise.automatic = lib.mkDefault true; optimise.automatic = lib.mkDefault true;
}; };
# Nixpkgs configuration
nixpkgs = {
config = {
allowUnfree = lib.mkForce true;
allowUnsupportedSystem = true;
permittedInsecurePackages = [
# ...
];
};
};
nixpkgs.config.allowUnfreePredicate =
pkg:
builtins.elem (lib.getName pkg) [
"vscode-extension-github-copilot"
];
} }

View File

@@ -1,11 +1,8 @@
{ ... }: { ... }:
let
defaultOptions = [ "compress=zstd" ];
in
{ {
fileSystems."/mnt" = { fileSystems."/media/nas/main" = {
label = "nas_pool"; label = "nas_pool";
# device = "/dev/sde:/dev/sdf:/dev/sdh:/dev/sdi:/dev/:sdj"; # device = "/dev/sde:/dev/sdf:/dev/sdh:/dev/sdi:/dev/sdj:/dev/nmve0n1:/dev/nvme1n1";
fsType = "bcachefs"; fsType = "bcachefs";
mountPoint = "/media/nas/main"; mountPoint = "/media/nas/main";
}; };

View File

@@ -1,25 +0,0 @@
{ ... }:
{
# Configure nixpkgs
nixpkgs = {
config = {
# Enable non free
allowUnfree = true;
# enable cuda support
cudaSupport = true;
allowUnfreePredicate =
p:
builtins.all (
license:
license.free
|| builtins.elem license.shortName [
"CUDA EULA"
"cuDNN EULA"
"cuTENSOR EULA"
"NVidia OptiX EULA"
]
) (if builtins.isList p.meta.license then p.meta.license else [ p.meta.license ]);
};
};
}

View File

@@ -45,15 +45,4 @@
optimise.automatic = lib.mkDefault true; optimise.automatic = lib.mkDefault true;
}; };
# Nixpkgs configuration
nixpkgs = {
config = {
allowUnfree = lib.mkForce true;
allowUnsupportedSystem = true;
permittedInsecurePackages = [
# ...
];
};
};
} }

View File

@@ -60,9 +60,5 @@ in
# Further reduce systemd output # Further reduce systemd output
systemd = { systemd = {
services.systemd-udev-settle.enable = false; services.systemd-udev-settle.enable = false;
extraConfig = ''
ShowStatus=no
DefaultTimeoutStartSec=15s
'';
}; };
} }

View File

@@ -9,8 +9,6 @@
... ...
}: }:
{ {
nixpkgs.config.allowUnfree = lib.mkForce true;
# Define a user account. Don't forget to set a password with passwd. # Define a user account. Don't forget to set a password with passwd.
users.users = { users.users = {
deck = { deck = {

View File

@@ -19,8 +19,6 @@
./sops.nix ./sops.nix
]; ];
nixpkgs.config.allowUnfree = true;
${namespace} = { ${namespace} = {
hardware.disko.enable = true; hardware.disko.enable = true;
bootloader.lanzaboote.enable = true; bootloader.lanzaboote.enable = true;