my nix configs for my servers and desktop

add focalor

Changed files
+217 -2
hosts
modules
+44 -1
flake.lock
···
"type": "github"
}
},
+
"home-manager_2": {
+
"inputs": {
+
"nixpkgs": [
+
"zen-browser",
+
"nixpkgs"
+
]
+
},
+
"locked": {
+
"lastModified": 1743604125,
+
"narHash": "sha256-ZD61DNbsBt1mQbinAaaEqKaJk2RFo9R/j+eYWeGMx7A=",
+
"owner": "nix-community",
+
"repo": "home-manager",
+
"rev": "180fd43eea296e62ae68e079fcf56aba268b9a1a",
+
"type": "github"
+
},
+
"original": {
+
"owner": "nix-community",
+
"repo": "home-manager",
+
"type": "github"
+
}
+
},
"lix": {
"flake": false,
"locked": {
···
"agenix": "agenix",
"lix-module": "lix-module",
"nixpkgs": "nixpkgs_2",
-
"vscode-server": "vscode-server"
+
"vscode-server": "vscode-server",
+
"zen-browser": "zen-browser"
}
},
"systems": {
···
"original": {
"owner": "nix-community",
"repo": "nixos-vscode-server",
+
"type": "github"
+
}
+
},
+
"zen-browser": {
+
"inputs": {
+
"home-manager": "home-manager_2",
+
"nixpkgs": [
+
"nixpkgs"
+
]
+
},
+
"locked": {
+
"lastModified": 1748742977,
+
"narHash": "sha256-xacIevJ94ZOlNLOcFOAm3PiV7zXZr4G8FD7sJ9jKuz4=",
+
"owner": "0xc000022070",
+
"repo": "zen-browser-flake",
+
"rev": "a9d3d70bc49c513a6e48ab24e279e014ab463bc6",
+
"type": "github"
+
},
+
"original": {
+
"owner": "0xc000022070",
+
"repo": "zen-browser-flake",
"type": "github"
}
}
+23 -1
flake.nix
···
vscode-server.url = "github:nix-community/nixos-vscode-server";
agenix.url = "github:ryantm/agenix";
+
zen-browser = {
+
url = "github:0xc000022070/zen-browser-flake";
+
inputs.nixpkgs.follows = "nixpkgs";
+
};
};
-
outputs = { self, nixpkgs, lix-module, vscode-server, agenix }: {
+
outputs = { self, nixpkgs, lix-module, vscode-server, agenix, zen-browser } @ inputs: {
nixosConfigurations = {
+
focalor = nixpkgs.lib.nixosSystem {
+
system = "x86_64-linux";
+
specialArgs = { inherit inputs; system = "x86_64-linux"; };
+
modules = [
+
./hosts/focalor
+
lix-module.nixosModules.default
+
+
vscode-server.nixosModules.default
+
agenix.nixosModules.default
+
+
({ config, pkgs, ... }: {
+
services.vscode-server.enable = true;
+
services.vscode-server.nodejsPackage = pkgs.nodejs_20;
+
environment.systemPackages = [ agenix.packages.x86_64-linux.default ];
+
})
+
];
+
};
+
valefar = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
+52
hosts/focalor/default.nix
···
+
# hosts/valefar/configuration.nix (or default.nix)
+
{ config, lib, system, pkgs, modulesPath, inputs, ... }:
+
+
{
+
imports = [
+
# Host-specific hardware
+
./hardware.nix
+
./secrets.nix
+
+
# Common modules shared across hosts
+
../../modules/common/system.nix
+
../../modules/common/users.nix
+
../../modules/common/services.nix
+
+
# Desktop modules
+
../../modules/desktop/core.nix
+
../../modules/desktop/sway.nix
+
+
# Services specific to this host
+
#../../services/xyz.nix
+
+
# Common secrets
+
#../../host-secrets.nix
+
];
+
+
# pin host platform & microcode
+
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
+
hardware.cpu.intel.updateMicrocode = lib.mkDefault
+
config.hardware.enableRedistributableFirmware;
+
+
networking.hostName = "focalor";
+
networking.hostId = "84bdc587";
+
+
#boot.supportedFilesystems = [ "zfs" ];
+
#boot.kernelModules = [ "nct6775" "coretemp" ];
+
+
#services.zfs.autoScrub.enable = true;
+
#services.zfs.trim.enable = true;
+
+
environment.systemPackages = with pkgs; [
+
#lm_sensors
+
code-server
+
];
+
+
virtualisation.docker = {
+
enable = true;
+
enableOnBoot = true;
+
package = pkgs.docker.override {
+
buildGoModule = pkgs.buildGo123Module;
+
};
+
};
+
}
+41
hosts/focalor/hardware.nix
···
+
# 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 + "/installer/scan/not-detected.nix")
+
];
+
+
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "uas" "usbhid" "sd_mod" ];
+
boot.initrd.kernelModules = [ ];
+
boot.kernelModules = [ "kvm-amd" ];
+
boot.extraModulePackages = [ ];
+
+
fileSystems."/" =
+
{ device = "/dev/disk/by-uuid/01c4129c-ace4-495a-941e-c5fa893a0bb4";
+
fsType = "ext4";
+
};
+
+
fileSystems."/boot" =
+
{ device = "/dev/disk/by-uuid/6CCE-47E4";
+
fsType = "vfat";
+
options = [ "fmask=0077" "dmask=0077" ];
+
};
+
+
swapDevices =
+
[ { device = "/dev/disk/by-uuid/3029e270-a5f5-4a97-a29b-f2bc3e3a33a8"; }
+
];
+
+
# 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
+
# still possible to use this option, but it's recommended to use it in conjunction
+
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
+
networking.useDHCP = lib.mkDefault true;
+
# networking.interfaces.enp5s0.useDHCP = lib.mkDefault true;
+
# networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true;
+
+
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
+
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
+
}
+3
hosts/focalor/secrets.nix
···
+
{
+
+
}
+2
modules/common/system.nix
···
{ pkgs, config, ... }:
{
+
nixpkgs.config.allowUnfree = true; #because im a gigachad
+
# boot, networking, locale, stateVersion
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
+11
modules/common/users.nix
···
packages = with pkgs; [ tree ];
};
+
programs.git = {
+
enable = true;
+
config = {
+
user.name = "waveringana";
+
user.email = "ana@nekomimi.pet";
+
init = {
+
defaultBranch = "main";
+
};
+
};
+
};
+
security.sudo.enable = true;
security.sudo.wheelNeedsPassword = false;
}
+16
modules/desktop/core.nix
···
+
{ config, pkgs, system, lib, inputs, ... }:
+
+
{
+
environment.systemPackages = with pkgs; [
+
ghostty
+
kitty
+
vscode
+
inputs.zen-browser.packages."${system}".default
+
neofetch
+
fastfetch
+
sway-contrib.grimshot
+
discord
+
];
+
+
environment.sessionVariables.NIXOS_OZONE_WL = "1";
+
}
+25
modules/desktop/sway.nix
···
+
{ config, pkgs, lib, ... }:
+
{
+
environment.systemPackages = with pkgs; [
+
grim
+
wl-clipboard
+
mako
+
];
+
+
services.gnome.gnome-keyring.enable = true;
+
+
programs.sway = {
+
enable = true;
+
wrapperFeatures.gtk = true;
+
};
+
+
services.greetd = {
+
enable = true;
+
settings = {
+
default_session = {
+
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd sway";
+
user = "greeter";
+
};
+
};
+
};
+
}