mirror of
https://gitlab.com/ahoneybun/nix-configs.git
synced 2025-05-12 11:14:02 -06:00
129 lines
3.4 KiB
Nix
129 lines
3.4 KiB
Nix
{
|
|
description = "Shepard";
|
|
|
|
inputs = {
|
|
# nixpkgs.url = "github:NixOS/nixpkgs/release-23.05";
|
|
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
|
};
|
|
|
|
outputs = { self, nixpkgs-unstable, nixos-hardware, ... }@inputs: {
|
|
nixosConfigurations = {
|
|
"shepard" = nixpkgs-unstable.lib.nixosSystem {
|
|
system = "x86_64-linux";
|
|
specialArgs = { inherit inputs; };
|
|
modules = [
|
|
# Import the configuration.nix we used before, so that the old configuration file can still take effect.
|
|
# Note: /etc/nixos/configuration.nix itself is also a Nix Module, so you can import it directly here
|
|
# nixos-hardware.nixosModules.raspberry-pi-4
|
|
# ./configuration.nix
|
|
./hardware-configuration.nix
|
|
./gnome.nix
|
|
|
|
({config, pkgs, ...}: {
|
|
|
|
# Latest kernel
|
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
|
|
|
boot.loader = {
|
|
systemd-boot.enable = true;
|
|
systemd-boot.consoleMode = "0";
|
|
};
|
|
|
|
boot.initrd.luks.devices = {
|
|
root = {
|
|
device = "/dev/nvme1n1p2";
|
|
preLVM = true;
|
|
};
|
|
};
|
|
|
|
nix = {
|
|
settings.auto-optimise-store = true;
|
|
settings.experimental-features = [ "nix-command" "flakes" ];
|
|
|
|
gc = {
|
|
automatic = true;
|
|
dates = "weekly";
|
|
options = "--delete-older-than 30d";
|
|
};
|
|
};
|
|
|
|
networking = {
|
|
hostName = "shepard";
|
|
networkmanager.enable = true;
|
|
};
|
|
|
|
time.timeZone = "America/Denver";
|
|
|
|
# Stable
|
|
environment.systemPackages = with pkgs; [
|
|
avahi
|
|
cargo
|
|
cosmic-edit
|
|
dmidecode
|
|
fire
|
|
firefox
|
|
fish
|
|
git
|
|
git-lfs
|
|
libcamera
|
|
lshw
|
|
roboto-slab
|
|
neofetch
|
|
restic
|
|
unzip
|
|
wget
|
|
xz
|
|
];
|
|
|
|
users.users.aaronh = {
|
|
description = "Aaron Honeycutt";
|
|
home = "/home/aaronh";
|
|
extraGroups = [ "wheel" "networkmanager" "adm" ];
|
|
isNormalUser = true;
|
|
shell = pkgs.fish;
|
|
hashedPassword = "$6$aAcbLtqiqzySifls$jdKMOQjoWITHD/dWNNZVUH/qNc6aoJ7v4zYofi0U7IJSVTbmOfChS3mzaJbp57AodjdPNKPrnrip8Nlh2Qanx.";
|
|
|
|
packages = with pkgs; [
|
|
signal-desktop
|
|
youtube-music
|
|
];
|
|
};
|
|
|
|
programs.fish.enable = true;
|
|
|
|
# Enable Pipewire
|
|
security.rtkit.enable = true;
|
|
services.pipewire = {
|
|
enable = true;
|
|
alsa.enable = true;
|
|
alsa.support32Bit = true;
|
|
pulse.enable = true;
|
|
};
|
|
|
|
# Turn off PulseAudio
|
|
hardware.pulseaudio.enable = false;
|
|
|
|
# Enable Bluetooth
|
|
hardware.bluetooth.enable = true;
|
|
|
|
# Enable SSH
|
|
services.openssh.enable = true;
|
|
|
|
# Enable CUPS
|
|
services.printing.enable = true;
|
|
|
|
# Allow Unfree
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
# System
|
|
system = {
|
|
stateVersion = "23.11";
|
|
autoUpgrade.enable = true;
|
|
};
|
|
})
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|