Compare commits
9
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d602b3ba45 | ||
|
|
a1f77ed407
|
||
|
|
76ea6e6e13
|
||
|
|
23999ee3a4
|
||
|
|
593ab20414
|
||
|
|
e4614dbee5
|
||
|
|
884999f719
|
||
|
|
d3dbf8583a
|
||
|
|
cf2a710a79 |
Generated
+25
-25
@@ -9,11 +9,11 @@
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1780372639,
|
||||
"narHash": "sha256-VFzXYHlIGwO4h4ovtnpZj9sX/Qu6+dlI00sXjHdwi2w=",
|
||||
"lastModified": 1783689476,
|
||||
"narHash": "sha256-Ac4EGPZr9e+mPUdmavJFSTft4vgoXml40+YOFYKTXPg=",
|
||||
"owner": "ezKEa",
|
||||
"repo": "aagl-gtk-on-nix",
|
||||
"rev": "1ee1e8864a1fcfcc21a5fb5af4bd328b3c829f42",
|
||||
"rev": "af94408291ad477cae8eed964981ab41f90eb184",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -29,11 +29,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1781190061,
|
||||
"narHash": "sha256-QRMpLbsmlciMGv4yx75FUoIl54K02JbIX1tgdPHPw1s=",
|
||||
"lastModified": 1783744694,
|
||||
"narHash": "sha256-2cp6N3rrwnGYLTx9l6N+NI+kwrCWxvJUbj5WJhvB29A=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "f2b3fdb347f91dfd344ad196666a0b0fe8aad05c",
|
||||
"rev": "c3e90c89649b07d1a96e4b9dd6cd0d6e44b91a74",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -184,11 +184,11 @@
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1781239934,
|
||||
"narHash": "sha256-bK84gDc7MgPdoQfr4k1oSIsdA9pSXVjEc3QPpVFGRPs=",
|
||||
"lastModified": 1783668331,
|
||||
"narHash": "sha256-mMfzU9jvq9XQyyssR9w0Rki8/Ec4Ez+bLkFWc7BaGGg=",
|
||||
"owner": "purpleclay",
|
||||
"repo": "go-overlay",
|
||||
"rev": "efc8ba6788ff0736cc2098d7c588d58819a927e7",
|
||||
"rev": "423eed783363fa154fc7f0c049f7effa910d2440",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -204,11 +204,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1781184346,
|
||||
"narHash": "sha256-cZRlW47U6A2nWvAmnZeeO6Xvq23gxYbVLel4KxqOrcQ=",
|
||||
"lastModified": 1783740085,
|
||||
"narHash": "sha256-qajyHfZY29G2oEQk+uHxmsJcRoBUBXP9maTpFlwP/dI=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "ea6d221d7aa85652d014b6f719dddf036037515b",
|
||||
"rev": "3cd22efe6471dc7365c822bd9ad73a21e55f38fb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -270,11 +270,11 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1780902259,
|
||||
"narHash": "sha256-q8yYEC5f1mFlQO9RGna4LTc9QrcvWunX6FYp83munkQ=",
|
||||
"lastModified": 1783703440,
|
||||
"narHash": "sha256-O3/YajjWo001VUIgD8BwaRdSNLUFe7nZ1qV5TwhRBcw=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "bd0ff2d3eac24699c3664d5966b9ef36f388e2ca",
|
||||
"rev": "8f0500b9660505dc3cb647775fe9a978a74b5283",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -340,11 +340,11 @@
|
||||
"nixpkgs": "nixpkgs_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1781241353,
|
||||
"narHash": "sha256-lY3e7d5bA48qnTWGBSH6SK5jfINRlCQEv+zx1eGl1zU=",
|
||||
"lastModified": 1783886399,
|
||||
"narHash": "sha256-pcHOwEcr5xFGFRUriCdWFcBFBU5oouFW3iO65HCZ3cI=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "90afe7c81a068fb1f160d68acd0ad06fa1bf7553",
|
||||
"revCount": 30,
|
||||
"rev": "b43f2ace4941315daabccc716e151a0ca47276db",
|
||||
"revCount": 32,
|
||||
"type": "git",
|
||||
"url": "https://scm.wyattjmiller.com/wymiller/nur.git"
|
||||
},
|
||||
@@ -373,11 +373,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1780197589,
|
||||
"narHash": "sha256-FVCr2Ij/jKf59a4LW481eeOF6rJRreOBrVgW/aUBTrw=",
|
||||
"lastModified": 1782875958,
|
||||
"narHash": "sha256-5eqDcnBjb1424HRQdnhuhNOBZguq1Z2tqSa2OMF/m2c=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "21632e942d89bf1cce4e5a63d7e58a215a0cbfcc",
|
||||
"rev": "13139aefa973f3d96c60c0fbab801de058ae25ca",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -391,11 +391,11 @@
|
||||
"nixpkgs": "nixpkgs_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1781234414,
|
||||
"narHash": "sha256-HdA+P4fKRGOomkewnI/Tww5Wz4xK1O7+hDO90YAsPB4=",
|
||||
"lastModified": 1783834461,
|
||||
"narHash": "sha256-FCmrs1StAghJDKfqy56KM96KZtxpYzgeq6zM3QO8wjA=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "1d18bfe3de6244c641ca4e8011186d0981b81d76",
|
||||
"rev": "a286e5b998e852297a403786f063fb2c9fe7f57a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -122,7 +122,7 @@
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = extraSpecialArgs;
|
||||
home-manager.extraSpecialArgs = extraSpecialArgs // { isNixOS = true; role = "workstation"; };
|
||||
home-manager.backupFileExtension = "bak";
|
||||
home-manager.users.${userName}.imports = [
|
||||
./home
|
||||
@@ -187,6 +187,32 @@
|
||||
];
|
||||
};
|
||||
|
||||
# Vintage story server - for a friend
|
||||
nixosConfigurations."raubahn" = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {
|
||||
inherit userName userEmail nur;
|
||||
hostname = "raubahn";
|
||||
role = "server";
|
||||
};
|
||||
modules = [
|
||||
myOverlays
|
||||
./modules/common
|
||||
./modules/machine/raubahn
|
||||
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = extraSpecialArgs // { isNixOS = true; role = "server"; };
|
||||
home-manager.backupFileExtension = "bak";
|
||||
home-manager.users.${userName}.imports = [
|
||||
./home
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
# Matrix and Mastodon server
|
||||
nixosConfigurations."yshtola" = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
|
||||
@@ -5,7 +5,12 @@ lib.mkIf pkgs.stdenv.isLinux {
|
||||
xdg-utils
|
||||
] ++ lib.optionals isNixOS [
|
||||
vesktop
|
||||
xfce.thunar
|
||||
thunar
|
||||
thunar-volman
|
||||
thunar-shares-plugin
|
||||
thunar-vcs-plugin
|
||||
thunar-archive-plugin
|
||||
thunar-media-tags-plugin
|
||||
pavucontrol
|
||||
zathura
|
||||
gpu-screen-recorder
|
||||
|
||||
@@ -149,10 +149,15 @@ in {
|
||||
vintage-story = {
|
||||
enable = lib.mkEnableOption "Vintage Story client and server";
|
||||
};
|
||||
|
||||
archon = {
|
||||
enable = lib.mkEnableOption "Archon from NUR";
|
||||
};
|
||||
};
|
||||
|
||||
config = let
|
||||
agl = cfg.aagl;
|
||||
nurPkgs = import "${nur.outPath}/pkgs" { inherit pkgs; };
|
||||
in {
|
||||
programs.steam = lib.mkIf cfg.steam.enable {
|
||||
enable = true;
|
||||
@@ -218,7 +223,8 @@ in {
|
||||
)) ++
|
||||
(lib.optionals cfg.minecraft.enable [pkgs.prismlauncher]) ++
|
||||
(lib.optionals cfg.ffxiv.enable [pkgs.xivlauncher pkgs.fflogs]) ++
|
||||
(lib.optionals cfg.vintage-story.enable [nur.packages.${pkgs.system}.vintage-story]) ++
|
||||
(lib.optionals cfg.vintage-story.enable [nurPkgs.vintage-story]) ++
|
||||
(lib.optionals cfg.archon.enable [nurPkgs.archon]) ++
|
||||
(lib.optionals cfg.vkbasalt.enable [pkgs.vkbasalt pkgs.vkbasalt-cli]) ++
|
||||
(lib.optionals cfg.mangohud.enable [pkgs.mangohud]) ++
|
||||
(lib.optionals (cfg.vkbasalt.enable || cfg.mangohud.enable) [pkgs.goverlay pkgs.mesa-demos pkgs.vulkan-tools]);
|
||||
@@ -226,7 +232,7 @@ in {
|
||||
nix.settings = let
|
||||
inherit agl;
|
||||
in (lib.mkIf
|
||||
(agl.anime-game-launcher.enable || agl.honkers-railway-laucher.enable || agl.honkers-launcher.enable || agl.wavey-launcher.enable || agl.sleepy-launcher.enable)
|
||||
(agl.anime-game-launcher.enable || agl.honkers-railway-launcher.enable || agl.honkers-launcher.enable || agl.wavey-launcher.enable || agl.sleepy-launcher.enable)
|
||||
{
|
||||
substituters = [ "https://ezkea.cachix.org" ];
|
||||
trusted-public-keys = [ "ezkea.cachix.org-1:ioBmUbJTZIKsHmWWXPe1FSFbeVe+afhfgqgTSNd34eI=" ];
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
pkgs,
|
||||
userName,
|
||||
aagl,
|
||||
nur,
|
||||
...
|
||||
}: let
|
||||
flatpakPackages = [
|
||||
@@ -49,8 +50,6 @@ in {
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
|
||||
# Custom kernel/boot stuff
|
||||
boot = {
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
@@ -83,6 +82,12 @@ in {
|
||||
shared-mime-info
|
||||
wl-clipboard
|
||||
wl-clip-persist
|
||||
ollama-rocm
|
||||
newelle
|
||||
vlc
|
||||
mediainfo
|
||||
makemkv
|
||||
ffmpeg
|
||||
];
|
||||
|
||||
# Enable Polkit
|
||||
@@ -121,11 +126,13 @@ in {
|
||||
};
|
||||
|
||||
ffxiv.enable = true;
|
||||
archon.enable = true;
|
||||
minecraft.enable = true;
|
||||
aagl.anime-game-launcher.enable = true;
|
||||
aagl.wavey-launcher.enable = true;
|
||||
vintage-story.enable = true;
|
||||
};
|
||||
|
||||
|
||||
# Power management (see ../../pwrMgmt/default.nix)
|
||||
pwrMgmt = {
|
||||
enable = true;
|
||||
@@ -225,5 +232,8 @@ in {
|
||||
];
|
||||
};
|
||||
|
||||
# Tailscale service
|
||||
services.tailscale.enable = true;
|
||||
|
||||
system.stateVersion = "24.11";
|
||||
}
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
{
|
||||
pkgs,
|
||||
userName,
|
||||
nur,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
../../pwrMgmt
|
||||
../../networking/core.nix
|
||||
../../virtualization/podman.nix
|
||||
];
|
||||
|
||||
# Enable flakes for NixOS
|
||||
nix.settings.experimental-features = ["nix-command" "flakes"];
|
||||
|
||||
# Custom kernel/boot stuff
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
# Set your timezone
|
||||
time.timeZone = "America/Detroit";
|
||||
|
||||
# Enable OpenSSH
|
||||
services.openssh.enable = true;
|
||||
|
||||
# Enable keyring
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
|
||||
# Enable GnuPG
|
||||
programs.gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
|
||||
# Enable SUID wrappers (some programs need them)
|
||||
programs.mtr.enable = true;
|
||||
|
||||
# Enable Polkit
|
||||
security.polkit.enable = true;
|
||||
|
||||
# Power management (see ../../pwrMgmt/default.nix)
|
||||
pwrMgmt = {
|
||||
enable = true;
|
||||
cpuFreqGovernor = "performance";
|
||||
powertop.enable = false;
|
||||
};
|
||||
|
||||
network = {
|
||||
firewall = {
|
||||
enable = true;
|
||||
tcpPorts = {
|
||||
allowedPorts = [ 42420 ];
|
||||
};
|
||||
udpPorts = {
|
||||
allowedPorts = [ 42420 ];
|
||||
};
|
||||
};
|
||||
networkManager.enable = true;
|
||||
};
|
||||
|
||||
environment.systemPackages = [
|
||||
nur.packages.${pkgs.system}.vintage-story
|
||||
];
|
||||
|
||||
systemd.services.vintagestory-server = {
|
||||
description = "Vintage Story Server";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
User = userName;
|
||||
WorkingDirectory = "/home/${userName}";
|
||||
ExecStart = "${nur.packages.${pkgs.system}.vintage-story}/bin/vintagestory-server";
|
||||
Restart = "on-failure";
|
||||
RestartSec = "5s";
|
||||
};
|
||||
};
|
||||
|
||||
# Add username to groups "wheel" and "video" - more may be added here later
|
||||
users = {
|
||||
users = {
|
||||
${userName} = {
|
||||
extraGroups = [ "wheel" "network" ];
|
||||
openssh.authorizedKeys.keys = [
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFV9eSc9L+aJLoKoexq2f/jb5rpyZnhuGiyhS8YQAbaS wyatt@wyattjmiller.com"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO4WKvKnnYpTbzZHFEslOKyfiiMqWxhW3AfX6E7ACmYU wyatt@wyattjmiller.com"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.fail2ban = {
|
||||
enable = true;
|
||||
package = pkgs.fail2ban;
|
||||
maxretry = 5;
|
||||
bantime = "3h";
|
||||
bantime-increment = {
|
||||
enable = true;
|
||||
rndtime = "10m";
|
||||
};
|
||||
};
|
||||
|
||||
system.stateVersion = "24.11";
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{ ... }: {
|
||||
imports = [
|
||||
./configuration.nix
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/profiles/qemu-guest.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "virtio_scsi" "sr_mod" "virtio_blk" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/ec4c43ec-efcc-40ea-a4c8-411e60ee7c4e";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/140E-FE19";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0022" "dmask=0022" ];
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[ { device = "/dev/disk/by-uuid/547bbd78-85be-4d17-a519-c4a2a923bdab"; }
|
||||
];
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
}
|
||||
@@ -2,6 +2,7 @@
|
||||
environment.systemPackages = with pkgs; [
|
||||
neovim
|
||||
git
|
||||
tailscale
|
||||
];
|
||||
|
||||
environment.variables.EDITOR = "nvim";
|
||||
|
||||
Reference in New Issue
Block a user