Add Nix configuration for Stardust.
This commit is contained in:
parent
11301f7203
commit
f8db74a70f
|
@ -0,0 +1,25 @@
|
|||
# The main configuration file.
|
||||
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
./packages.nix
|
||||
./programs-services.nix
|
||||
./users.nix
|
||||
./system.nix
|
||||
];
|
||||
|
||||
nix = {
|
||||
settings.experimental-features = [ "flakes" "nix-command" ];
|
||||
};
|
||||
|
||||
nixpkgs = {
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
|
||||
# Before changing this value read the documentation for this option!
|
||||
# https://search.nixos.org/options?channel=22.11&show=system.stateVersion
|
||||
system.stateVersion = "22.11";
|
||||
}
|
|
@ -0,0 +1,62 @@
|
|||
# The list of system packages to install.
|
||||
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
environment = {
|
||||
systemPackages = with pkgs; [
|
||||
bat
|
||||
catppuccin-cursors
|
||||
chromium
|
||||
exa
|
||||
delta
|
||||
deno
|
||||
direnv
|
||||
firefox
|
||||
ffmpeg
|
||||
gegl
|
||||
gimp
|
||||
git
|
||||
imagemagick
|
||||
kitty
|
||||
libnotify
|
||||
librewolf
|
||||
mat2
|
||||
mpv
|
||||
nodejs
|
||||
nodePackages.pnpm
|
||||
nvitop
|
||||
osu-lazer
|
||||
pavucontrol
|
||||
picard
|
||||
pop-icon-theme
|
||||
python310Packages.pipx
|
||||
qalculate-gtk
|
||||
restic
|
||||
ripgrep
|
||||
rnix-lsp
|
||||
rustup
|
||||
standardnotes
|
||||
starship
|
||||
steam
|
||||
tauon
|
||||
tea
|
||||
transmission-gtk
|
||||
vscodium.fhs
|
||||
xarchiver
|
||||
xclip
|
||||
xorg.libXcursor
|
||||
xfce.xfce4-pulseaudio-plugin
|
||||
xfce.xfce4-timer-plugin
|
||||
xfce.xfce4-whiskermenu-plugin
|
||||
(wrapOBS {
|
||||
plugins = with obs-studio-plugins; [
|
||||
input-overlay
|
||||
obs-pipewire-audio-capture
|
||||
obs-source-record
|
||||
obs-vkcapture
|
||||
];
|
||||
})
|
||||
];
|
||||
};
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
# Configuration for programs and services.
|
||||
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
programs = {
|
||||
gnupg = {
|
||||
agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
};
|
||||
|
||||
thunar = {
|
||||
plugins = with pkgs.xfce; [ thunar-archive-plugin ];
|
||||
};
|
||||
|
||||
zsh = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
avahi = {
|
||||
enable = true;
|
||||
nssmdns = true;
|
||||
};
|
||||
|
||||
pipewire = {
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
enable = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
|
||||
xserver = {
|
||||
desktopManager.xfce.enable = true;
|
||||
displayManager.lightdm.enable = true;
|
||||
enable = true;
|
||||
layout = "be";
|
||||
videoDrivers = [ "nvidia" ];
|
||||
xkbVariant = "";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -0,0 +1,79 @@
|
|||
# General system configuration.
|
||||
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
boot = {
|
||||
loader = {
|
||||
efi.canTouchEfiVariables = true;
|
||||
efi.efiSysMountPoint = "/boot/efi";
|
||||
systemd-boot.enable = true;
|
||||
};
|
||||
|
||||
supportedFilesystems = [ "ntfs" ];
|
||||
};
|
||||
|
||||
console = {
|
||||
keyMap = "be-latin1";
|
||||
};
|
||||
|
||||
environment = {
|
||||
extraOutputsToInstall = [ "dev" ];
|
||||
shells = [ pkgs.zsh ];
|
||||
};
|
||||
|
||||
fonts.fonts = with pkgs; [
|
||||
hasklig
|
||||
inter
|
||||
iosevka
|
||||
noto-fonts
|
||||
(nerdfonts.override { fonts = [ "Hasklig" ]; })
|
||||
];
|
||||
|
||||
hardware = {
|
||||
opengl = {
|
||||
driSupport32Bit = true;
|
||||
enable = true;
|
||||
};
|
||||
|
||||
opentabletdriver = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
pulseaudio = {
|
||||
enable = false;
|
||||
};
|
||||
};
|
||||
|
||||
i18n = {
|
||||
defaultLocale = "en_US.UTF-8";
|
||||
extraLocaleSettings = {
|
||||
LC_ADDRESS = "en_GB.UTF-8";
|
||||
LC_IDENTIFICATION = "en_GB.UTF-8";
|
||||
LC_MEASUREMENT = "en_GB.UTF-8";
|
||||
LC_MONETARY = "en_GB.UTF-8";
|
||||
LC_NAME = "en_GB.UTF-8";
|
||||
LC_NUMERIC = "en_GB.UTF-8";
|
||||
LC_PAPER = "en_GB.UTF-8";
|
||||
LC_TELEPHONE = "en_GB.UTF-8";
|
||||
LC_TIME = "en_GB.UTF-8";
|
||||
};
|
||||
};
|
||||
|
||||
networking = {
|
||||
hostName = "stardust";
|
||||
networkmanager.enable = true;
|
||||
};
|
||||
|
||||
security = {
|
||||
rtkit.enable = true;
|
||||
};
|
||||
|
||||
sound = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
time = {
|
||||
timeZone = "Europe/Brussels";
|
||||
};
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
# Configuration for user accounts.
|
||||
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
users = {
|
||||
defaultUserShell = pkgs.zsh;
|
||||
|
||||
users.bauke = {
|
||||
description = "Bauke";
|
||||
extraGroups = [ "networkmanager" "wheel" ];
|
||||
isNormalUser = true;
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue