Compare commits

..

No commits in common. "588e94dcf47d94af7d1f00247df3d1114101c667" and "37bd7254b9d06a9c91d894d4406869c908c8e8e6" have entirely different histories.

18 changed files with 105 additions and 94 deletions

View File

@ -16,4 +16,4 @@ jobs:
fetch-depth: 0 fetch-depth: 0
- name: Check Flake - name: Check Flake
run: nix flake check --all-systems --print-build-logs --log-format raw --show-trace run: nix flake check --print-build-logs --log-format raw --show-trace

View File

@ -6,7 +6,7 @@ in
{ {
imports = [ imports = [
./kde.nix ./kde.nix
# ./xfce.nix ./xfce.nix
./yubikey.nix ./yubikey.nix
./chromium.nix ./chromium.nix
# ./firefox.nix # ./firefox.nix
@ -41,6 +41,7 @@ in
mpv mpv
nextcloud-client nextcloud-client
signal-desktop signal-desktop
minecraft
gparted gparted
libreoffice-fresh libreoffice-fresh
thunderbird thunderbird
@ -69,7 +70,7 @@ in
]; ];
# Printer discovery # Printer discovery
services.avahi.enable = true; services.avahi.enable = true;
services.avahi.nssmdns4 = true; services.avahi.nssmdns = true;
programs.file-roller.enable = true; programs.file-roller.enable = true;

View File

@ -5,9 +5,12 @@ let
in in
{ {
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
services.displayManager.sddm.enable = true; # kde plasma
services.displayManager.sddm.wayland.enable = true; services.xserver = {
services.desktopManager.plasma6.enable = true; enable = true;
desktopManager.plasma5.enable = true;
displayManager.sddm.enable = true;
};
# kde apps # kde apps
nixpkgs.config.firefox.enablePlasmaBrowserIntegration = true; nixpkgs.config.firefox.enablePlasmaBrowserIntegration = true;
@ -17,5 +20,7 @@ in
# plasma5Packages.kmail-account-wizard # plasma5Packages.kmail-account-wizard
kate kate
]; ];
services.xserver.desktopManager.plasma5.useQtScaling = true;
}; };
} }

View File

@ -43,6 +43,7 @@ in
services.spotifyd.users = [ "googlebot" ]; services.spotifyd.users = [ "googlebot" ];
users.users.googlebot.packages = with pkgs; [ users.users.googlebot.packages = with pkgs; [
spotify spotify
spotify-tui
]; ];
users.groups.spotifyd = { users.groups.spotifyd = {

View File

@ -9,7 +9,7 @@ in
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
services.libinput.enable = true; services.xserver.libinput.enable = true;
services.libinput.touchpad.naturalScrolling = true; services.xserver.libinput.touchpad.naturalScrolling = true;
}; };
} }

View File

@ -63,7 +63,7 @@ in
"cris@runyan.org" "cris@runyan.org"
]; ];
}; };
certificateScheme = "acme-nginx"; # use let's encrypt for certs certificateScheme = 3; # use let's encrypt for certs
}; };
age.secrets.hashed-email-pw.file = ../../secrets/hashed-email-pw.age; age.secrets.hashed-email-pw.file = ../../secrets/hashed-email-pw.age;
age.secrets.cris-hashed-email-pw.file = ../../secrets/cris-hashed-email-pw.age; age.secrets.cris-hashed-email-pw.file = ../../secrets/cris-hashed-email-pw.age;

View File

@ -8,7 +8,7 @@ in
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
services.nextcloud = { services.nextcloud = {
https = true; https = true;
package = pkgs.nextcloud29; package = pkgs.nextcloud28;
hostName = "neet.cloud"; hostName = "neet.cloud";
config.dbtype = "sqlite"; config.dbtype = "sqlite";
config.adminuser = "jeremy"; config.adminuser = "jeremy";

View File

@ -97,7 +97,7 @@
# Printer discovery # Printer discovery
# (is this needed?) # (is this needed?)
services.avahi.enable = true; services.avahi.enable = true;
services.avahi.nssmdns4 = true; services.avahi.nssmdns = true;
# printer sharing # printer sharing
systemd.tmpfiles.rules = [ systemd.tmpfiles.rules = [

97
flake.lock generated
View File

@ -10,11 +10,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1716561646, "lastModified": 1707830867,
"narHash": "sha256-UIGtLO89RxKt7RF2iEgPikSdU53r6v/6WYB0RW3k89I=", "narHash": "sha256-PAdwm5QqdlwIqGrfzzvzZubM+FXtilekQ/FA0cI49/o=",
"owner": "ryantm", "owner": "ryantm",
"repo": "agenix", "repo": "agenix",
"rev": "c2fc0762bbe8feb06a2e59a364fa81b3a57671c9", "rev": "8cb01a0e717311680e0cbca06a76cbceba6f3ed6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -96,11 +96,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1715699772, "lastModified": 1708091384,
"narHash": "sha256-sKhqIgucN5sI/7UQgBwsonzR4fONjfMr9OcHK/vPits=", "narHash": "sha256-dTGGw2y8wvfjr+J9CjQbfdulOq72hUG17HXVNxpH1yE=",
"owner": "serokell", "owner": "serokell",
"repo": "deploy-rs", "repo": "deploy-rs",
"rev": "b3ea6f333f9057b77efd9091119ba67089399ced", "rev": "0a0187794ac7f7a1e62cda3dabf8dc041f868790",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -125,22 +125,6 @@
"type": "github" "type": "github"
} }
}, },
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-utils": { "flake-utils": {
"inputs": { "inputs": {
"systems": "systems_2" "systems": "systems_2"
@ -187,11 +171,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1716772633, "lastModified": 1710120787,
"narHash": "sha256-Idcye44UW+EgjbjCoklf2IDF+XrehV6CVYvxR1omst4=", "narHash": "sha256-tlLuB73OCOKtU2j83bQzSYFyzjJo3rjpITZE5MoofG8=",
"owner": "Mic92", "owner": "Mic92",
"repo": "nix-index-database", "repo": "nix-index-database",
"rev": "ff80cb4a11bb87f3ce8459be6f16a25ac86eb2ac", "rev": "e76ff2df6bfd2abe06abd8e7b9f217df941c1b07",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -200,38 +184,37 @@
"type": "github" "type": "github"
} }
}, },
"nixos-hardware": {
"locked": {
"lastModified": 1717248095,
"narHash": "sha256-e8X2eWjAHJQT82AAN+mCI0B68cIDBJpqJ156+VRrFO0=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "7b49d3967613d9aacac5b340ef158d493906ba79",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "master",
"repo": "nixos-hardware",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1717144377, "lastModified": 1710420202,
"narHash": "sha256-F/TKWETwB5RaR8owkPPi+SPJh83AQsm6KrQAlJ8v/uA=", "narHash": "sha256-MvFKESbq4rUWuaf2RKPNYENaSZEw/jaCLo2gU6oREcM=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "805a384895c696f802a9bf5bf4720f37385df547", "rev": "878ef7d9721bee9f81f8a80819f9211ad1f993da",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-24.05", "ref": "nixos-23.11",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs-22_05": {
"locked": {
"lastModified": 1654936503,
"narHash": "sha256-soKzdhI4jTHv/rSbh89RdlcJmrPgH8oMb/PLqiqIYVQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "dab6df51387c3878cdea09f43589a15729cae9f4",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-22.05",
"type": "indirect"
}
},
"nixpkgs-frigate": { "nixpkgs-frigate": {
"locked": { "locked": {
"lastModified": 1695825837, "lastModified": 1695825837,
@ -248,6 +231,18 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-xone-fix": {
"flake": false,
"locked": {
"narHash": "sha256-nP+aGV0wrdRcOSlxlr2XaUczHeAHtLVpn2pefn5nhQE=",
"type": "file",
"url": "https://github.com/NixOS/nixpkgs/pull/296470.diff"
},
"original": {
"type": "file",
"url": "https://github.com/NixOS/nixpkgs/pull/296470.diff"
}
},
"radio": { "radio": {
"inputs": { "inputs": {
"flake-utils": [ "flake-utils": [
@ -296,9 +291,9 @@
"deploy-rs": "deploy-rs", "deploy-rs": "deploy-rs",
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"nix-index-database": "nix-index-database", "nix-index-database": "nix-index-database",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixpkgs-frigate": "nixpkgs-frigate", "nixpkgs-frigate": "nixpkgs-frigate",
"nixpkgs-xone-fix": "nixpkgs-xone-fix",
"radio": "radio", "radio": "radio",
"radio-web": "radio-web", "radio-web": "radio-web",
"simple-nixos-mailserver": "simple-nixos-mailserver" "simple-nixos-mailserver": "simple-nixos-mailserver"
@ -307,23 +302,23 @@
"simple-nixos-mailserver": { "simple-nixos-mailserver": {
"inputs": { "inputs": {
"blobs": "blobs", "blobs": "blobs",
"flake-compat": "flake-compat_2",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"nixpkgs-22_05": "nixpkgs-22_05",
"utils": "utils" "utils": "utils"
}, },
"locked": { "locked": {
"lastModified": 1714720456, "lastModified": 1655930346,
"narHash": "sha256-e0WFe1BHqX23ADpGBc4ZRu38Mg+GICCZCqyS6EWCbHc=", "narHash": "sha256-ht56HHOzEhjeIgAv5ZNFjSVX/in1YlUs0HG9c1EUXTM=",
"owner": "simple-nixos-mailserver", "owner": "simple-nixos-mailserver",
"repo": "nixos-mailserver", "repo": "nixos-mailserver",
"rev": "41059fc548088e49e3ddb3a2b4faeb5de018e60f", "rev": "f535d8123c4761b2ed8138f3d202ea710a334a1d",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
"owner": "simple-nixos-mailserver", "owner": "simple-nixos-mailserver",
"ref": "master", "ref": "nixos-22.05",
"repo": "nixos-mailserver", "repo": "nixos-mailserver",
"type": "gitlab" "type": "gitlab"
} }

View File

@ -1,14 +1,12 @@
{ {
inputs = { inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11";
nixpkgs-frigate.url = "github:NixOS/nixpkgs/5cfafa12d57374f48bcc36fda3274ada276cf69e"; nixpkgs-frigate.url = "github:NixOS/nixpkgs/5cfafa12d57374f48bcc36fda3274ada276cf69e";
flake-utils.url = "github:numtide/flake-utils"; flake-utils.url = "github:numtide/flake-utils";
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
# mail server # mail server
simple-nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver/master"; simple-nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-22.05";
simple-nixos-mailserver.inputs.nixpkgs.follows = "nixpkgs"; simple-nixos-mailserver.inputs.nixpkgs.follows = "nixpkgs";
# agenix # agenix
@ -35,6 +33,9 @@
# prebuilt nix-index database # prebuilt nix-index database
nix-index-database.url = "github:Mic92/nix-index-database"; nix-index-database.url = "github:Mic92/nix-index-database";
nix-index-database.inputs.nixpkgs.follows = "nixpkgs"; nix-index-database.inputs.nixpkgs.follows = "nixpkgs";
nixpkgs-xone-fix.url = "https://github.com/NixOS/nixpkgs/pull/296470.diff";
nixpkgs-xone-fix.flake = false;
}; };
outputs = { self, nixpkgs, ... }@inputs: outputs = { self, nixpkgs, ... }@inputs:
@ -82,6 +83,8 @@
src = nixpkgs; src = nixpkgs;
patches = [ patches = [
./patches/gamepadui.patch ./patches/gamepadui.patch
./patches/esphome.patch
inputs.nixpkgs-xone-fix
]; ];
}; };
patchedNixpkgs = nixpkgs.lib.fix (self: (import "${patchedNixpkgsSrc}/flake.nix").outputs { self = nixpkgs; }); patchedNixpkgs = nixpkgs.lib.fix (self: (import "${patchedNixpkgsSrc}/flake.nix").outputs { self = nixpkgs; });
@ -94,7 +97,6 @@
specialArgs = { specialArgs = {
inherit allModules; inherit allModules;
lib = self.lib; lib = self.lib;
nixos-hardware = inputs.nixos-hardware;
}; };
}; };
in in

View File

@ -1,9 +1,8 @@
{ config, pkgs, lib, nixos-hardware, ... }: { config, pkgs, lib, ... }:
{ {
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
nixos-hardware.nixosModules.framework-13-7040-amd
]; ];
@ -59,10 +58,4 @@
]; ];
programs.adb.enable = true; programs.adb.enable = true;
services.fwupd.enable = true;
# fingerprint reader has initially shown to be more of a nuisance than a help
# it makes sddm log in fail most of the time and take several minutes to finish
services.fprintd.enable = false;
} }

View File

@ -14,9 +14,6 @@
boot.kernelModules = [ "kvm-amd" ]; boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
# thunderbolt
services.hardware.bolt.enable = true;
# firmware # firmware
firmware.x86_64.enable = true; firmware.x86_64.enable = true;

View File

@ -9,6 +9,7 @@
systemRoles = [ systemRoles = [
"server" "server"
"nix-builder" "nix-builder"
"gitea-actions-runner"
]; ];
hostKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBlgRPpuUkZqe8/lHugRPm/m2vcN9psYhh5tENHZt9I2"; hostKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBlgRPpuUkZqe8/lHugRPm/m2vcN9psYhh5tENHZt9I2";

View File

@ -146,8 +146,7 @@ in
}; };
}; };
# TODO need services.oauth2-proxy.cookie.domain ? services.oauth2_proxy =
services.oauth2-proxy =
let let
nextcloudServer = "https://neet.cloud/"; nextcloudServer = "https://neet.cloud/";
in in
@ -156,10 +155,9 @@ in
httpAddress = "http://0.0.0.0:4180"; httpAddress = "http://0.0.0.0:4180";
nginx.domain = frigateHostname; nginx.virtualHosts = [
# nginx.virtualHosts = [ frigateHostname
# frigateHostname ];
# ];
email.domains = [ "*" ]; email.domains = [ "*" ];

View File

@ -63,7 +63,7 @@
}; };
# Login into X11 plasma so barrier works well # Login into X11 plasma so barrier works well
services.displayManager.defaultSession = "plasma"; services.xserver.displayManager.defaultSession = "plasma";
users.users.cris = { users.users.cris = {
isNormalUser = true; isNormalUser = true;
@ -83,7 +83,7 @@
}; };
# Auto login into Plasma in john zoidberg account # Auto login into Plasma in john zoidberg account
services.displayManager.sddm.settings = { services.xserver.displayManager.sddm.settings = {
Autologin = { Autologin = {
Session = "plasma"; Session = "plasma";
User = "john"; User = "john";

View File

@ -2,16 +2,16 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gasket"; pname = "gasket";
version = "1.0-18-unstable-2023-09-05"; version = "1.0-18";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "google"; owner = "google";
repo = "gasket-driver"; repo = "gasket-driver";
rev = "5815ee3908a46a415aac616ac7b9aedcb98a504c"; rev = "09385d485812088e04a98a6e1227bf92663e0b59";
sha256 = "sha256-O17+msok1fY5tdX1DvqYVw6plkUDF25i8sqwd6mxYf8="; sha256 = "fcnqCBh04e+w8g079JyuyY2RPu34M+/X+Q8ObE+42i4=";
}; };
makeFlags = kernel.makeFlags ++ [ makeFlags = [
"-C" "-C"
"${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
"M=$(PWD)" "M=$(PWD)"
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
installFlags = [ "INSTALL_MOD_PATH=${placeholder "out"}" ]; installFlags = [ "INSTALL_MOD_PATH=${placeholder "out"}" ];
installTargets = [ "modules_install" ]; installTargets = [ "modules_install" ];
sourceRoot = "${src.name}/src"; sourceRoot = "source/src";
hardeningDisable = [ "pic" "format" ]; hardeningDisable = [ "pic" "format" ];
nativeBuildInputs = kernel.moduleBuildDependencies; nativeBuildInputs = kernel.moduleBuildDependencies;
@ -31,6 +31,5 @@ stdenv.mkDerivation rec {
license = licenses.gpl2; license = licenses.gpl2;
maintainers = [ lib.maintainers.kylehendricks ]; maintainers = [ lib.maintainers.kylehendricks ];
platforms = platforms.linux; platforms = platforms.linux;
broken = versionOlder kernel.version "5.15";
}; };
} }

19
patches/esphome.patch Normal file
View File

@ -0,0 +1,19 @@
diff --git a/pkgs/tools/misc/esphome/default.nix b/pkgs/tools/misc/esphome/default.nix
index a8ab91f8f329..81bf135a023f 100644
--- a/pkgs/tools/misc/esphome/default.nix
+++ b/pkgs/tools/misc/esphome/default.nix
@@ -5,6 +5,7 @@
, platformio
, esptool
, git
+, stdenv
}:
let
@@ -76,6 +77,7 @@ python.pkgs.buildPythonApplication rec {
# git is used in esphomeyaml/writer.py
"--prefix PATH : ${lib.makeBinPath [ platformio esptool git ]}"
"--prefix PYTHONPATH : $PYTHONPATH" # will show better error messages
+ "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ stdenv.cc.cc.lib ]}"
"--set ESPHOME_USE_SUBPROCESS ''"
];

View File

@ -6,8 +6,8 @@ index 29c449c16946..f6c728eb7f0c 100644
in in
pkgs.writeShellScriptBin "steam-gamescope" '' pkgs.writeShellScriptBin "steam-gamescope" ''
${builtins.concatStringsSep "\n" exports} ${builtins.concatStringsSep "\n" exports}
- gamescope --steam ${builtins.toString cfg.gamescopeSession.args} -- steam -tenfoot -pipewire-dmabuf - gamescope --steam ${toString cfg.gamescopeSession.args} -- steam -tenfoot -pipewire-dmabuf
+ gamescope --steam ${builtins.toString cfg.gamescopeSession.args} -- steam -gamepadui -steamdeck -pipewire-dmabuf &> /tmp/steamlog + gamescope --steam ${toString cfg.gamescopeSession.args} -- steam -gamepadui -steamdeck -pipewire-dmabuf &> /tmp/steamlog
''; '';
gamescopeSessionFile = gamescopeSessionFile =