Working build for Khanda
This commit is contained in:
parent
4a0d358baa
commit
e158bfd27d
|
@ -233,10 +233,11 @@
|
||||||
"nix-secrets": {
|
"nix-secrets": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"dirtyRev": "2d4a2ed35119a4d17b06cc5e378d72ec7f1926b3-dirty",
|
|
||||||
"dirtyShortRev": "2d4a2ed-dirty",
|
|
||||||
"lastModified": 1718889003,
|
"lastModified": 1718889003,
|
||||||
"narHash": "sha256-lXuHgFvK+QxBQd4LM8XMeFwp6QUgGVC9ccaY+q+piWY=",
|
"narHash": "sha256-VROhiB20ZgngCPVcYy1ZRmLZm3DmFbEjVjQPP55AMQc=",
|
||||||
|
"ref": "refs/heads/main",
|
||||||
|
"rev": "2d4a2ed35119a4d17b06cc5e378d72ec7f1926b3",
|
||||||
|
"revCount": 46,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "file:./nix-secrets"
|
"url": "file:./nix-secrets"
|
||||||
},
|
},
|
||||||
|
|
|
@ -31,6 +31,14 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
aux.system.services.autoUpgrade = {
|
||||||
|
enable = true;
|
||||||
|
configDir = config.secrets.nixConfigFolder;
|
||||||
|
onCalendar = "daily";
|
||||||
|
user = config.users.users.aires.name;
|
||||||
|
push = false;
|
||||||
|
};
|
||||||
|
|
||||||
# Configure the virtual machine created by nixos-rebuild build-vm
|
# Configure the virtual machine created by nixos-rebuild build-vm
|
||||||
virtualisation.vmVariant.virtualisation = {
|
virtualisation.vmVariant.virtualisation = {
|
||||||
memorySize = 2048;
|
memorySize = 2048;
|
||||||
|
|
|
@ -24,6 +24,7 @@ in
|
||||||
|
|
||||||
aux.system = {
|
aux.system = {
|
||||||
apps.tmux.enable = true;
|
apps.tmux.enable = true;
|
||||||
|
packages = [ start-haven ];
|
||||||
services = {
|
services = {
|
||||||
acme = {
|
acme = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -64,7 +65,13 @@ in
|
||||||
enable = true;
|
enable = true;
|
||||||
home = "${services-root}/airsonic-advanced";
|
home = "${services-root}/airsonic-advanced";
|
||||||
};
|
};
|
||||||
autoUpgrade.pushUpdates = true;
|
autoUpgrade = {
|
||||||
|
enable = false;
|
||||||
|
pushUpdates = true;
|
||||||
|
configDir = config.secrets.nixConfigFolder;
|
||||||
|
onCalendar = "daily";
|
||||||
|
user = config.users.users.aires.name;
|
||||||
|
};
|
||||||
boinc.enable = true;
|
boinc.enable = true;
|
||||||
cache = {
|
cache = {
|
||||||
enable = false; # Disable for now
|
enable = false; # Disable for now
|
||||||
|
@ -141,9 +148,6 @@ in
|
||||||
|
|
||||||
# TODO: VPN (Check out Wireguard)
|
# TODO: VPN (Check out Wireguard)
|
||||||
|
|
||||||
# Add Haven's startup script
|
|
||||||
environment.systemPackages = [ start-haven ];
|
|
||||||
|
|
||||||
# Allow Haven to be a build target for other architectures (mainly ARM64)
|
# Allow Haven to be a build target for other architectures (mainly ARM64)
|
||||||
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
|
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,11 +24,11 @@ in
|
||||||
# Enable to allow unfree (e.g. closed source) packages.
|
# Enable to allow unfree (e.g. closed source) packages.
|
||||||
# Some settings may override this (e.g. enabling Nvidia GPU support).
|
# Some settings may override this (e.g. enabling Nvidia GPU support).
|
||||||
# https://nixos.org/manual/nixpkgs/stable/#sec-allow-unfree
|
# https://nixos.org/manual/nixpkgs/stable/#sec-allow-unfree
|
||||||
allowUnfree = false;
|
allowUnfree = true;
|
||||||
|
|
||||||
# Enable Secure Boot support.
|
# Enable Secure Boot support.
|
||||||
# IMPORTANT: Read the README before enabling this option!
|
# IMPORTANT: Read the README before enabling this option!
|
||||||
bootloader.secureboot.enable = false;
|
bootloader.secureboot.enable = true;
|
||||||
|
|
||||||
# Change the default text editor. Options are "emacs", "nano", or "vim".
|
# Change the default text editor. Options are "emacs", "nano", or "vim".
|
||||||
editor = "nano";
|
editor = "nano";
|
||||||
|
@ -47,17 +47,16 @@ in
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
# Additional system packages to install.
|
|
||||||
packages = [ ];
|
|
||||||
|
|
||||||
# Change how long old generations are kept for.
|
# Change how long old generations are kept for.
|
||||||
retentionPeriod = "30d";
|
retentionPeriod = "14d";
|
||||||
|
|
||||||
# Enable GPU support.
|
# Enable GPU support.
|
||||||
gpu.intel.enable = true;
|
gpu.intel.enable = true;
|
||||||
|
|
||||||
ui.desktops.gnome.enable = true;
|
ui.desktops.gnome.enable = true;
|
||||||
|
|
||||||
|
services.autoUpgrade.enable = false;
|
||||||
|
|
||||||
users.aires = {
|
users.aires = {
|
||||||
enable = true;
|
enable = true;
|
||||||
services = {
|
services = {
|
||||||
|
|
|
@ -1,51 +0,0 @@
|
||||||
{ pkgs, lib, ... }:
|
|
||||||
{
|
|
||||||
imports = [ ./hardware-configuration.nix ];
|
|
||||||
|
|
||||||
system.stateVersion = "24.05";
|
|
||||||
system.autoUpgrade.enable = lib.mkForce false;
|
|
||||||
|
|
||||||
aux.system = {
|
|
||||||
role = "workstation";
|
|
||||||
apps = {
|
|
||||||
development.enable = true;
|
|
||||||
media.enable = true;
|
|
||||||
office.enable = true;
|
|
||||||
recording.enable = true;
|
|
||||||
social.enable = true;
|
|
||||||
writing = {
|
|
||||||
enable = true;
|
|
||||||
languagetool.enable = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
ui = {
|
|
||||||
flatpak.enable = true;
|
|
||||||
gnome.enable = true;
|
|
||||||
};
|
|
||||||
users.aires = {
|
|
||||||
enable = true;
|
|
||||||
services = {
|
|
||||||
syncthing = {
|
|
||||||
enable = true;
|
|
||||||
autostart = true;
|
|
||||||
enableTray = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Build remotely
|
|
||||||
nix.distributedBuilds = true;
|
|
||||||
|
|
||||||
# Enable thermal control
|
|
||||||
services.thermald.enable = true;
|
|
||||||
|
|
||||||
# Limit the number of cores Nix can use
|
|
||||||
nix.settings.cores = 10;
|
|
||||||
|
|
||||||
# Configure the virtual machine created by nixos-rebuild build-vm
|
|
||||||
virtualisation.vmVariant.virtualisation = {
|
|
||||||
memorySize = 2048;
|
|
||||||
cores = 2;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -29,7 +29,6 @@ in
|
||||||
system.stateVersion = "24.05";
|
system.stateVersion = "24.05";
|
||||||
|
|
||||||
aux.system = {
|
aux.system = {
|
||||||
role = "workstation";
|
|
||||||
apps = {
|
apps = {
|
||||||
development.enable = true;
|
development.enable = true;
|
||||||
dj.enable = true;
|
dj.enable = true;
|
||||||
|
@ -40,12 +39,19 @@ in
|
||||||
social.enable = true;
|
social.enable = true;
|
||||||
writing = {
|
writing = {
|
||||||
enable = true;
|
enable = true;
|
||||||
ngrams.enable = false;
|
languagetool.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
packages = with pkgs; [boinc];
|
||||||
|
services.autoUpgrade = {
|
||||||
|
enable = true;
|
||||||
|
configDir = config.secrets.nixConfigFolder;
|
||||||
|
onCalendar = "daily";
|
||||||
|
user = config.users.users.aires.name;
|
||||||
|
};
|
||||||
ui = {
|
ui = {
|
||||||
flatpak.enable = true;
|
flatpak.enable = true;
|
||||||
gnome.enable = true;
|
desktops.gnome.enable = true;
|
||||||
};
|
};
|
||||||
users = {
|
users = {
|
||||||
aires = {
|
aires = {
|
||||||
|
@ -65,9 +71,6 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Install additional packages
|
|
||||||
environment.systemPackages = [ pkgs.boinc ];
|
|
||||||
|
|
||||||
# Enable virtual machine manager
|
# Enable virtual machine manager
|
||||||
programs.virt-manager.enable = true;
|
programs.virt-manager.enable = true;
|
||||||
|
|
||||||
|
|
40
modules/common.nix
Normal file
40
modules/common.nix
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
# Modules common to all systems
|
||||||
|
{ pkgs, config, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
config = {
|
||||||
|
# Install ZSH for all users
|
||||||
|
programs.zsh.enable = true;
|
||||||
|
users.defaultUserShell = pkgs.zsh;
|
||||||
|
|
||||||
|
aux.system = {
|
||||||
|
packages = with pkgs; [
|
||||||
|
fastfetch # Show a neat system statistics screen when opening a terminal
|
||||||
|
nh # Nix Helper: https://github.com/viperML/nh
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
# Enable NH, an alternative nixos-rebuild frontend.
|
||||||
|
nh = {
|
||||||
|
enable = true;
|
||||||
|
flake = "${config.secrets.nixConfigFolder}";
|
||||||
|
|
||||||
|
# Alternative garbage collection system to nix.gc.automatic
|
||||||
|
clean = {
|
||||||
|
enable = true;
|
||||||
|
dates = "daily";
|
||||||
|
extraArgs = "--keep-since 7d --keep 10"; # Keep the last 10 entries
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# Do some additional Nano configuration
|
||||||
|
nano.nanorc = ''
|
||||||
|
set linenumbers
|
||||||
|
set tabsize 4
|
||||||
|
set softwrap
|
||||||
|
set autoindent
|
||||||
|
set indicator
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -14,7 +14,7 @@ with lib;
|
||||||
programs.msmtp = {
|
programs.msmtp = {
|
||||||
enable = true;
|
enable = true;
|
||||||
accounts.default = {
|
accounts.default = {
|
||||||
aux.system = config.secrets.services.msmtp.host;
|
host = config.secrets.services.msmtp.host;
|
||||||
user = config.secrets.services.msmtp.user;
|
user = config.secrets.services.msmtp.user;
|
||||||
password = config.secrets.services.msmtp.password;
|
password = config.secrets.services.msmtp.password;
|
||||||
auth = true;
|
auth = true;
|
||||||
|
|
|
@ -20,10 +20,10 @@ in
|
||||||
videoDrivers = [ "amdgpu" ];
|
videoDrivers = [ "amdgpu" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware.opengl = {
|
hardware.graphics = {
|
||||||
extraPackages = [ pkgs.amdvlk ];
|
extraPackages = [ pkgs.amdvlk ];
|
||||||
# 32-bit application compatibility
|
# 32-bit application compatibility
|
||||||
driSupport32Bit = true;
|
enable32Bit = true;
|
||||||
extraPackages32 = with pkgs; [ driversi686Linux.amdvlk ];
|
extraPackages32 = with pkgs; [ driversi686Linux.amdvlk ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -19,7 +19,7 @@ in
|
||||||
|
|
||||||
environment.variables.VDPAU_DRIVER = "va_gl";
|
environment.variables.VDPAU_DRIVER = "va_gl";
|
||||||
|
|
||||||
hardware.opengl.extraPackages = with pkgs; [
|
hardware.graphics.extraPackages = with pkgs; [
|
||||||
(
|
(
|
||||||
if (lib.versionOlder (lib.versions.majorMinor lib.version) "23.11") then
|
if (lib.versionOlder (lib.versions.majorMinor lib.version) "23.11") then
|
||||||
vaapiIntel
|
vaapiIntel
|
||||||
|
@ -30,7 +30,7 @@ in
|
||||||
intel-media-driver
|
intel-media-driver
|
||||||
];
|
];
|
||||||
|
|
||||||
hardware.opengl.extraPackages32 = with pkgs.driversi686Linux; [
|
hardware.graphics.extraPackages32 = with pkgs.driversi686Linux; [
|
||||||
(
|
(
|
||||||
if (lib.versionOlder (lib.versions.majorMinor lib.version) "23.11") then
|
if (lib.versionOlder (lib.versions.majorMinor lib.version) "23.11") then
|
||||||
vaapiIntel
|
vaapiIntel
|
||||||
|
|
|
@ -1,35 +0,0 @@
|
||||||
# Set up program defaults
|
|
||||||
{ config, ... }:
|
|
||||||
{
|
|
||||||
# Set up base apps
|
|
||||||
programs = {
|
|
||||||
direnv.enable = true;
|
|
||||||
|
|
||||||
nano = {
|
|
||||||
enable = true;
|
|
||||||
syntaxHighlight = true;
|
|
||||||
nanorc = ''
|
|
||||||
set linenumbers
|
|
||||||
set tabsize 4
|
|
||||||
set softwrap
|
|
||||||
set autoindent
|
|
||||||
set indicator
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
nh = {
|
|
||||||
enable = true;
|
|
||||||
flake = "${config.secrets.nixConfigFolder}";
|
|
||||||
|
|
||||||
# Alternative garbage collection system to nix.gc.automatic
|
|
||||||
clean = {
|
|
||||||
enable = true;
|
|
||||||
dates = "daily";
|
|
||||||
extraArgs = "--keep-since 7d --keep 10"; # Keep the last 10 entries
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Support for standard, dynamically-linked executables
|
|
||||||
nix-ld.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,10 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
# Install ZSH for all users
|
|
||||||
programs.zsh.enable = true;
|
|
||||||
users.defaultUserShell = pkgs.zsh;
|
|
||||||
|
|
||||||
# Show a neat system statistics screen when opening a terminal
|
|
||||||
environment.systemPackages = with pkgs; [ fastfetch ];
|
|
||||||
}
|
|
|
@ -21,25 +21,16 @@ in
|
||||||
# Set up the environment
|
# Set up the environment
|
||||||
environment = {
|
environment = {
|
||||||
# Install base packages
|
# Install base packages
|
||||||
systemPackages = with pkgs; [
|
systemPackages =
|
||||||
|
config.aux.system.packages
|
||||||
|
++ (with pkgs; [
|
||||||
bash
|
bash
|
||||||
dconf # Needed to fix an issue with Home-manager. See https://github.com/nix-community/home-manager/issues/3113
|
dconf # Needed to fix an issue with Home-manager. See https://github.com/nix-community/home-manager/issues/3113
|
||||||
direnv
|
direnv
|
||||||
git
|
git
|
||||||
home-manager
|
home-manager
|
||||||
nano
|
|
||||||
p7zip
|
p7zip
|
||||||
fastfetch
|
]);
|
||||||
nh # Nix Helper: https://github.com/viperML/nh
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Configure automatic updates for all hosts
|
|
||||||
aux.system.services.autoUpgrade = {
|
|
||||||
enable = true;
|
|
||||||
configDir = config.secrets.nixConfigFolder;
|
|
||||||
onCalendar = "daily";
|
|
||||||
user = config.users.users.aires.name;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
|
|
|
@ -68,12 +68,12 @@ in
|
||||||
# Enable the X11 windowing system.
|
# Enable the X11 windowing system.
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
# Enable touchpad support (enabled by default in most desktop managers, buuuut just in case).
|
|
||||||
libinput.enable = true;
|
|
||||||
|
|
||||||
# Configure keymap in X11
|
# Configure keymap in X11
|
||||||
xkb = config.aux.system.ui.desktops.xkb;
|
xkb = config.aux.system.ui.desktops.xkb;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Enable touchpad support (enabled by default in most desktop managers, buuuut just in case).
|
||||||
|
libinput.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Support for AppImage files
|
# Support for AppImage files
|
||||||
|
|
Loading…
Reference in a new issue