This commit is contained in:
Martin Benonisen 2024-04-21 06:49:09 +02:00
parent 2cd1b2aa00
commit 9c56503ed0
Signed by: mbeno
SSH Key Fingerprint: SHA256:iAzOA1WUAxocdh/WRWXcSg5nw2dJ1aDCvPuT+3ZjkwI
11 changed files with 163 additions and 83 deletions

View File

@ -1,5 +1,25 @@
{ {
"nodes": { "nodes": {
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1712014858,
"narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "9126214d0a59633752a136528f5f3b9aa8565b7d",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -7,32 +27,52 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1706981411, "lastModified": 1713566308,
"narHash": "sha256-cLbLPTL1CDmETVh4p0nQtvoF+FSEjsnJTFpTxhXywhQ=", "narHash": "sha256-7Y91t8pheIzjJveUMAPyeh5NOq5F49Nq4Hl2532QpJs=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "652fda4ca6dafeb090943422c34ae9145787af37", "rev": "057117a401a34259c9615ce62218aea7afdee4d3",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "release-23.11",
"repo": "home-manager", "repo": "home-manager",
"type": "github" "type": "github"
} }
}, },
"nix-gaming": {
"inputs": {
"flake-parts": [
"flake-parts"
],
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1713662031,
"narHash": "sha256-z6BbpvY2QcqDaJnJFBi3BLVwzy5aWZT3nnqzzu/sXD0=",
"owner": "fufexan",
"repo": "nix-gaming",
"rev": "f37fff222a3abf4deebf7d9388c23da8fc4325c6",
"type": "github"
},
"original": {
"owner": "fufexan",
"repo": "nix-gaming",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1710695816, "lastModified": 1713596654,
"narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=", "narHash": "sha256-LJbHQQ5aX1LVth2ST+Kkse/DRzgxlVhTL1rxthvyhZc=",
"owner": "nixos", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "614b4613980a522ba49f0d194531beddbb7220d3", "rev": "fd16bb6d3bcca96039b11aa52038fafeb6e4f4be",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "NixOS",
"ref": "nixos-23.11", "ref": "nixpkgs-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@ -53,13 +93,13 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-unstable": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1710631334, "lastModified": 1713537308,
"narHash": "sha256-rL5LSYd85kplL5othxK5lmAtjyMOBg390sGBTb3LRMM=", "narHash": "sha256-XtTSSIB2DA6tOv+l0FhvfDMiyCmhoRbNB+0SeInZkbk=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "c75037bbf9093a2acb617804ee46320d6d1fea5a", "rev": "5c24cf2f0a12ad855f444c30b2421d044120c66f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -69,7 +109,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1710534455, "lastModified": 1710534455,
"narHash": "sha256-huQT4Xs0y4EeFKn2BTBVYgEwJSv8SDlm82uWgMnCMmI=", "narHash": "sha256-huQT4Xs0y4EeFKn2BTBVYgEwJSv8SDlm82uWgMnCMmI=",
@ -87,15 +127,16 @@
}, },
"root": { "root": {
"inputs": { "inputs": {
"flake-parts": "flake-parts",
"home-manager": "home-manager", "home-manager": "home-manager",
"nixpkgs": "nixpkgs", "nix-gaming": "nix-gaming",
"nixpkgs-unstable": "nixpkgs-unstable", "nixpkgs": "nixpkgs_2",
"sops-nix": "sops-nix" "sops-nix": "sops-nix"
} }
}, },
"sops-nix": { "sops-nix": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_3",
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable"
}, },
"locked": { "locked": {

View File

@ -3,31 +3,32 @@
inputs = { inputs = {
# nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; # nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-23.11"; nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
nixpkgs-unstable.url = "github:nixos/nixpkgs?ref=nixos-unstable";
home-manager = { home-manager = {
url = "github:nix-community/home-manager?ref=release-23.11"; url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
sops-nix.url = "github:Mic92/sops-nix"; sops-nix.url = "github:Mic92/sops-nix";
flake-parts = {
url = "github:hercules-ci/flake-parts";
inputs.nixpkgs-lib.follows = "nixpkgs";
};
nix-gaming = {
url = "github:fufexan/nix-gaming";
inputs.flake-parts.follows = "flake-parts";
};
}; };
outputs = outputs =
{ self { self
, nixpkgs , nixpkgs
, nixpkgs-unstable
, sops-nix , sops-nix
, ... , ...
}@inputs: }@inputs:
let let
system = "x86_64-linux"; system = "x86_64-linux";
user = "mbeno"; user = "mbeno";
overlay-unstable = final: prev: {
unstable = import nixpkgs-unstable {
inherit system;
config.allowUnfree = true;
};
};
in in
{ {
nixosConfigurations = { nixosConfigurations = {
@ -35,11 +36,7 @@
inherit system; inherit system;
specialArgs = { inherit inputs self user sops-nix; }; specialArgs = { inherit inputs self user sops-nix; };
modules = [ modules = [
({ config, pkgs, ... }: { ({ config, pkgs, ... }: { })
nixpkgs.overlays = [
overlay-unstable
];
})
./hosts/zedd ./hosts/zedd
sops-nix.nixosModules.sops sops-nix.nixosModules.sops
]; ];

View File

@ -7,6 +7,17 @@
# Bootloader. # Bootloader.
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
boot = {
extraModulePackages = with config.boot.kernelPackages; [ acpi_call ];
kernelModules = [ "acpi_call" ];
kernelPackages = pkgs.linuxPackages_xanmod_latest;
};
boot.kernel.sysctl = {
"vm.max_map_count" = 16777216;
"fs.file-max" = 524288;
};
networking.hostName = "zedd"; # Define your hostname. networking.hostName = "zedd"; # Define your hostname.
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
@ -21,6 +32,10 @@
XDG_BIN_HOME = "$HOME/.local/bin"; XDG_BIN_HOME = "$HOME/.local/bin";
PATH = [ "${XDG_BIN_HOME}" ]; PATH = [ "${XDG_BIN_HOME}" ];
}; };
fileSystems."/data" = {
device = "/dev/data/data";
fsType = "ext4";
};
xdg.portal = xdg.portal =
{ {
enable = true; enable = true;
@ -42,7 +57,10 @@
# Allow unfree packages # Allow unfree packages
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
nix.settings.experimental-features = [ "nix-command" "flakes" ]; nix.settings.experimental-features = [ "nix-command" "flakes" ];
nix.settings = {
substituters = [ "https://nix-gaming.cachix.org" ];
trusted-public-keys = [ "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" ];
};
virtualisation.docker.enable = true; virtualisation.docker.enable = true;
system.stateVersion = "23.11"; # Did you read the comment? system.stateVersion = "23.11"; # Did you read the comment?

View File

@ -26,8 +26,6 @@
fsType = "vfat"; fsType = "vfat";
}; };
swapDevices =
[{ device = "/dev/disk/by-uuid/796cc9db-33c0-446e-8be6-02ae63461c19"; }];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's # (the default) this is the recommended approach. When using systemd-networkd it's

View File

@ -1,12 +1,13 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
hardware.opengl = { hardware = {
opengl = {
enable = true; enable = true;
driSupport = true; driSupport = true;
driSupport32Bit = true; driSupport32Bit = true;
}; };
hardware.ckb-next.enable = true; ckb-next.enable = true;
hardware.nvidia = { nvidia = {
modesetting.enable = true; modesetting.enable = true;
powerManagement.enable = false; powerManagement.enable = false;
powerManagement.finegrained = false; powerManagement.finegrained = false;
@ -14,5 +15,6 @@
nvidiaSettings = true; nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.stable; package = config.boot.kernelPackages.nvidiaPackages.stable;
}; };
hardware.pulseaudio.enable = false; pulseaudio.enable = false;
};
} }

View File

@ -1,25 +1,34 @@
{ config, pkgs, ... }: { { config, pkgs, ... }: {
programs.steam = { programs.steam = {
enable = true; enable = true;
gamescopeSession.enable = true;
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play extraCompatPackages = [
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server pkgs.proton-ge-bin
}; ];
nixpkgs.config.packageOverrides = pkgs: {
steam = pkgs.steam.override { # fix gamescope inside steam
extraPkgs = pkgs: with pkgs; [ package = pkgs.steam.override {
gamescope extraPkgs = pkgs:
mangohud with pkgs; [
keyutils
libkrb5
libpng
libpulseaudio
libvorbis
stdenv.cc.cc.lib
xorg.libXcursor
xorg.libXi
xorg.libXinerama
xorg.libXScrnSaver
]; ];
}; };
}; };
programs.thunar.enable = true; programs.thunar.enable = true;
programs.gnupg.agent = { programs.gnupg.agent = {
enable = true; enable = true;
pinentryFlavor = "curses";
enableSSHSupport = true; enableSSHSupport = true;
}; };
programs.gamemode.enable = true;
boot.binfmt.registrations.appimage = { boot.binfmt.registrations.appimage = {
wrapInterpreterInShell = false; wrapInterpreterInShell = false;
interpreter = "${pkgs.appimage-run}/bin/appimage-run"; interpreter = "${pkgs.appimage-run}/bin/appimage-run";
@ -33,7 +42,7 @@
pass pass
xdg-desktop-portal xdg-desktop-portal
xdg-desktop-portal-gtk xdg-desktop-portal-gtk
unstable.zoom-us zoom-us
neovim neovim
git git
gnupg gnupg

View File

@ -5,19 +5,21 @@
networking.firewall.enable = false; networking.firewall.enable = false;
security.polkit.enable = true; security.polkit.enable = true;
services = { services = {
displayManager =
{
defaultSession = "none+i3";
autoLogin.enable = true;
autoLogin.user = "mbeno";
};
xserver = { xserver = {
enable = true; enable = true;
layout = "us"; xkb.layout = "us";
xkbVariant = ""; xkb.variant = "";
desktopManager = { desktopManager = {
xterm.enable = false; xterm.enable = false;
}; };
videoDrivers = [ "nvidia" ]; videoDrivers = [ "nvidia" ];
displayManager = {
defaultSession = "none+i3";
autoLogin.enable = true;
autoLogin.user = "mbeno";
};
windowManager.i3 = { windowManager.i3 = {
enable = true; enable = true;

View File

@ -15,6 +15,7 @@
./programs/rofi ./programs/rofi
./programs/obs-studio ./programs/obs-studio
./programs/vscode ./programs/vscode
./programs/games
./scripts ./scripts
./zsh ./zsh
./packages ./packages

View File

@ -4,7 +4,7 @@
age age
discord discord
alacritty alacritty
unstable.btop btop
bzip2 bzip2
croc croc
easyeffects easyeffects
@ -32,22 +32,24 @@
spotify spotify
spicetify-cli spicetify-cli
sshfs sshfs
unstable.ventoy ventoy
expect expect
# k8s tools # k8s tools
unstable.talosctl talosctl
unstable.k9s k9s
unstable.cilium-cli cilium-cli
unstable.kubernetes-helm kubernetes-helm
unstable.cmctl cmctl
unstable.krew krew
gnome.zenity
protontricks
winetricks
tokei tokei
unzip unzip
yt-dlp yt-dlp
unstable.zoom-us zoom-us
unstable.vmware-horizon-client vmware-horizon-client
# Editors # Editors
# vscode # vscode
@ -63,7 +65,7 @@
typescript typescript
# Py stuff # Py stuff
(unstable.python312.withPackages (p: with p; [ (python312.withPackages (p: with p; [
requests requests
mypy mypy
pydantic pydantic

View File

@ -0,0 +1,10 @@
{ pkgs
, inputs
, ...
}:
# games
{
home.packages = [
inputs.nix-gaming.packages.${pkgs.system}.star-citizen
];
}

View File

@ -3,7 +3,7 @@
programs.zsh = { programs.zsh = {
enable = true; enable = true;
autocd = false; autocd = false;
enableAutosuggestions = true; autosuggestion.enable = true;
enableCompletion = true; enableCompletion = true;
syntaxHighlighting.enable = true; syntaxHighlighting.enable = true;
shellAliases = { shellAliases = {