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