Compare commits

..

6 Commits

Author SHA1 Message Date
59d2a8acfb added network system module 2026-07-06 17:02:20 +01:00
3bb63059fa added drivers for systems 2026-07-06 17:02:12 +01:00
1e9783a97d steam feature 2026-07-06 17:02:02 +01:00
1f9820e7b7 added otter module 2026-07-06 17:01:53 +01:00
32db47b96a kitty variable name change 2026-07-06 17:00:18 +01:00
bdca2fdc0f added git-secret and gotify-desktop feature 2026-07-06 17:00:03 +01:00
15 changed files with 204 additions and 4 deletions

3
.gitignore vendored
View File

@@ -3,3 +3,6 @@
/result /result
/HACKSTATION.qcow2 /HACKSTATION.qcow2
/result-man /result-man
.gitsecret/keys/random_seed
!*.secret
modules/features/gotify-desktop/gotify-key

BIN
.gitsecret/keys/pubring.kbx Normal file

Binary file not shown.

Binary file not shown.

BIN
.gitsecret/keys/trustdb.gpg Normal file

Binary file not shown.

View File

@@ -0,0 +1 @@
modules/features/gotify-desktop/gotify-key:f6129ad401b60d5a491d582169088600bb58a537d232b93c22923aede129d5cc

View File

@@ -15,6 +15,11 @@
url = "github:kuokuo123/otter-launcher"; url = "github:kuokuo123/otter-launcher";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
gotify-desktop = {
url = "github:voidarclabs/gotify-desktop";
inputs.nixpkgs.follows = "nixpkgs";
};
sls-steam.url = "github:AceSLS/SLSsteam";
# Flake parts # Flake parts
flake-parts.url = "github:hercules-ci/flake-parts"; flake-parts.url = "github:hercules-ci/flake-parts";

View File

@@ -0,0 +1,46 @@
{
self,
inputs,
...
}: {
flake.nixosModules.gotify-desktop = {
pkgs,
lib,
...
}: {
environment.systemPackages = [
self.packages.${pkgs.stdenv.hostPlatform.system}.gotify-desktop
];
};
perSystem = {
pkgs,
lib,
self',
...
}: {
packages = {
gotify-desktop = let
# Requires gpg keyring cert in order to get api key
config-file = pkgs.writeText "config.toml" ''
[gotify]
url = "wss://ntfy.voidarc.co.uk:443"
token = { command = "${pkgs.gnupg}/bin/gpg --quiet --batch --decrypt ${./gotify-key.secret}" }
[notification]
min_priority = 1
'';
in
inputs.wrappers.lib.wrapPackage ({
config,
wlib,
lib,
...
}: {
inherit pkgs;
package = inputs.gotify-desktop.packages.${pkgs.stdenv.hostPlatform.system}.default;
flags = {
"-c" = config-file;
};
});
};
};
}

Binary file not shown.

View File

@@ -9,8 +9,8 @@
... ...
}: { }: {
environment.systemPackages = [ environment.systemPackages = [
self.packages.${pkgs.stdenv.hostPlatform.system}.kitty self.packages.${pkgs.stdenv.hostPlatform.system}.kitty
]; ];
}; };
perSystem = { perSystem = {
pkgs, pkgs,
@@ -19,9 +19,9 @@
... ...
}: { }: {
packages.kitty = let packages.kitty = let
myFont = pkgs.nerd-fonts.fira-mono; # or any font-providing package fira-mono = pkgs.nerd-fonts.fira-mono;
fontsConf = pkgs.makeFontsConf { fontsConf = pkgs.makeFontsConf {
fontDirectories = [myFont]; fontDirectories = [fira-mono];
}; };
in in
inputs.wrappers.wrappers.kitty.wrap { inputs.wrappers.wrappers.kitty.wrap {

View File

@@ -3,6 +3,15 @@
inputs, inputs,
... ...
}: { }: {
flake.nixosModules.otter-launcher = {
pkgs,
lib,
...
}: {
environment.systemPackages = [
self.packages.${pkgs.stdenv.hostPlatform.system}.otter-launcher
];
};
perSystem = { perSystem = {
pkgs, pkgs,
lib, lib,

View File

@@ -0,0 +1,32 @@
{
self,
inputs,
...
}: {
flake.nixosModules.steam = {
pkgs,
lib,
...
}: {
# If buying isn't owning than piracy isn't stealing
environment.systemPackages = [
inputs.sls-steam.packages.${pkgs.stdenv.hostPlatform.system}.wrapped
];
programs.steam = {
enable = true;
protontricks.enable = true;
extraCompatPackages = with pkgs; [
proton-ge-bin
];
package = pkgs.steam.override {
extraEnv = {
LD_AUDIT = "${
inputs.sls-steam.packages.${pkgs.stdenv.hostPlatform.system}.sls-steam
}/library-inject.so:${
inputs.sls-steam.packages.${pkgs.stdenv.hostPlatform.system}.sls-steam
}/SLSsteam.so";
};
};
};
};
}

View File

@@ -0,0 +1,36 @@
{
self,
inputs,
...
}: {
flake.nixosModules.amdDrivers = {
pkgs,
lib,
...
}: {
hardware = {
graphics = {
enable = true;
enable32Bit = true;
extraPackages = with pkgs; [
libva-vdpau-driver
libvdpau-va-gl
rocmPackages.clr.icd
];
};
amdgpu = {
initrd.enable = true;
opencl.enable = true;
};
};
boot.kernelParams = [
"amdgpu.ppfeaturemask=0xffffffff"
];
# For rOCM
systemd.tmpfiles.rules = [
"L+ /opt/rocm - - - - ${pkgs.rocmPackages.clr}"
];
};
}

View File

@@ -0,0 +1,19 @@
{
self,
inputs,
...
}: {
flake.nixosModules.intelDrivers = {
pkgs,
lib,
...
}: {
hardware.graphics = {
enable = true;
extraPackages = with pkgs; [
intel-vaapi-driver
libva-vdpau-driver
];
};
};
}

View File

@@ -0,0 +1,27 @@
{
self,
inputs,
...
}: {
flake.nixosModules.networking = {
pkgs,
lib,
...
}: {
networking = {
networkmanager = {
enable = true;
dns = "none";
};
nameservers = [
"1.1.1.1"
"8.8.8.8"
];
};
services.unbound = {
enable = true;
};
systemd.services.NetworkManager-wait-online.enable = false;
};
}

View File

@@ -0,0 +1,22 @@
{
self,
inputs,
...
}: {
flake.nixosModules.networking = {
pkgs,
lib,
...
}: let
modules = with self.nixosModules; [
networking
];
in {
imports = modules;
networking = {
# Just for hackstation, replace enp5s0 with primary interface
interfaces.enp5s0.wakeOnLan.enable = true;
firewall.enable = false;
};
};
}