Compare commits

...

5 Commits

Author SHA1 Message Date
6a45fca8d5 refactor and modularize base.nix futher; use default.nix when possible 2025-09-26 11:49:00 +01:00
db9826339f update flake.lock 2025-09-25 00:01:53 +01:00
00b67e55bc update flake.lock 2025-09-23 23:11:19 +01:00
3d037d2dbd update flake.lock 2025-09-22 23:34:19 +01:00
7adcf7baa5 update flake.lock 2025-09-21 00:08:49 +01:00
16 changed files with 170 additions and 144 deletions

View File

@@ -0,0 +1,13 @@
{ ... }:
{
imports = [
./fonts.nix
./kde.nix
./location-time.nix
./networking.nix
./nix-settings.nix
./pipewire.nix
./programs.nix
];
}

View File

@@ -0,0 +1,14 @@
{ ... }:
{
# Set your time zone.
# time.timeZone = "Europe/London";
services.automatic-timezoned.enable = true;
services.chrony = {
enable = true;
};
services.geoclue2 = {
enable = true;
geoProviderUrl = "https://api.beacondb.net/v1/geolocate";
};
}

View File

@@ -0,0 +1,26 @@
{ pkgs, ... }:
{
# networking.hostName = "nixos"; # Define your hostname.
# Pick only one of the below networking options.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
networking.networkmanager = {
# Easiest to use and most distros use this by default.
enable = true;
wifi.powersave = false;
};
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Enable CUPS to print documents.
# services.printing.enable = true;
services.mullvad-vpn = {
enable = true;
package = pkgs.mullvad-vpn;
};
# services.resolved.enable = true;
}

View File

@@ -0,0 +1,35 @@
{ ... }:
{
# Enable sound.
# hardware.pulseaudio.enable = true;
# OR
services.pipewire = {
enable = true;
pulse.enable = true;
extraConfig.pipewire-pulse = {
"10-prevent-agc" = {
"pulse.rules" = [
{
matches = [
{ "application.process.binary" = "chrome"; }
{ "application.process.binary" = "Discord"; }
{ "application.process.binary" = "teams"; }
{ "application.process.binary" = "electron"; }
{ "application.process.binary" = "skypeforlinux"; }
{ "application.process.binary" = "telegram-desktop"; }
{ "application.process.binary" = "vivaldi"; }
{ "application.process.binary" = "chromium"; }
{ "application.process.binary" = "zoom"; }
];
actions = {
quirks = [
"block-source-volume"
];
};
}
];
};
};
};
}

View File

@@ -0,0 +1,37 @@
{ pkgs, ... }:
{
security.sudo-rs.enable = true;
services.fwupd.enable = true;
services.flatpak.enable = true;
programs.bash.blesh.enable = true;
programs.fish.enable = true;
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs;
[
# utils
uutils-coreutils-noprefix
vim
curl
inetutils
dig
rar
zstd
xz
p7zip
libva-utils
smartmontools
appimage-run
# dicts
nuspell
hunspellDicts.en-gb-large
# For cursor in steam?
xsettingsd
xorg.xrdb
];
}

View File

@@ -5,130 +5,24 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
imports = imports = [ ./base ];
[
./base/nix-settings.nix
./base/fonts.nix
./base/kde.nix
];
# Use the systemd-boot EFI boot loader. # Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
boot.kernelPackages = pkgs.linuxPackages_latest; boot.kernelPackages = pkgs.linuxPackages_latest;
hardware.bluetooth.enable = true;
hardware.enableRedistributableFirmware = true;
hardware.enableAllFirmware = true;
# Disks / Swap / etc
# swapDevices = [{ # swapDevices = [{
# device = "/var/lib/swapfile"; # device = "/var/lib/swapfile";
# size = 16 * 1024; # 16 GB # size = 16 * 1024; # 16 GB
# }]; # }];
zramSwap.enable = true; # Creates a zram block device and uses it as a swap device zramSwap.enable = true; # Creates a zram block device and uses it as a swap device
hardware.bluetooth.enable = true;
hardware.enableRedistributableFirmware = true;
hardware.enableAllFirmware = true;
security.sudo-rs.enable = true;
# networking.hostName = "nixos"; # Define your hostname.
# Pick only one of the below networking options.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
networking.networkmanager = {
# Easiest to use and most distros use this by default.
enable = true;
wifi.powersave = false;
};
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Enable CUPS to print documents.
# services.printing.enable = true;
# Enable sound.
# hardware.pulseaudio.enable = true;
# OR
services.pipewire = {
enable = true;
pulse.enable = true;
extraConfig.pipewire-pulse = {
"10-prevent-agc" = {
"pulse.rules" = [
{
matches = [
{ "application.process.binary" = "chrome"; }
{ "application.process.binary" = "Discord"; }
{ "application.process.binary" = "teams"; }
{ "application.process.binary" = "electron"; }
{ "application.process.binary" = "skypeforlinux"; }
{ "application.process.binary" = "telegram-desktop"; }
{ "application.process.binary" = "vivaldi"; }
{ "application.process.binary" = "chromium"; }
{ "application.process.binary" = "zoom"; }
];
actions = {
quirks = [
"block-source-volume"
];
};
}
];
};
};
};
services.fstrim.enable = true; services.fstrim.enable = true;
# services.resolved.enable = true;
services.mullvad-vpn = {
enable = true;
package = pkgs.mullvad-vpn;
};
# Set your time zone.
# time.timeZone = "Europe/London";
services.automatic-timezoned.enable = true;
services.chrony = {
enable = true;
};
services.fwupd.enable = true;
services.geoclue2 = {
enable = true;
geoProviderUrl = "https://api.beacondb.net/v1/geolocate";
};
services.flatpak.enable = true;
programs.bash.blesh.enable = true;
programs.fish.enable = true;
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs;
[
# utils
uutils-coreutils-noprefix
vim
curl
inetutils
dig
rar
zstd
xz
p7zip
libva-utils
smartmontools
appimage-run
# dicts
nuspell
hunspellDicts.en-gb-large
# For cursor in steam?
xsettingsd
xorg.xrdb
];
# Some programs need SUID wrappers, can be configured further or are # Some programs need SUID wrappers, can be configured further or are
# started in user sessions. # started in user sessions.

View File

@@ -5,7 +5,7 @@ let
in in
{ {
imports = [ imports = [
../../home-manager/base.nix ../../home-manager
../../home-manager/gaming.nix ../../home-manager/gaming.nix
../../home-manager/development/vscode.nix ../../home-manager/development/vscode.nix
]; ];

View File

@@ -7,7 +7,7 @@
{ {
imports = imports =
[ [
../../configuration/base.nix ../../configuration
# Include the results of the hardware scan. # Include the results of the hardware scan.
./hardware-configuration.nix ./hardware-configuration.nix
inputs.disko.nixosModules.default inputs.disko.nixosModules.default

View File

@@ -2,7 +2,7 @@
{ {
imports = [ imports = [
../../home-manager/base.nix ../../home-manager
../../home-manager/development/vscode.nix ../../home-manager/development/vscode.nix
]; ];

View File

@@ -7,7 +7,7 @@
{ {
imports = imports =
[ [
../../configuration/base.nix ../../configuration
# Include the results of the hardware scan. # Include the results of the hardware scan.
./hardware-configuration.nix ./hardware-configuration.nix
inputs.disko.nixosModules.default inputs.disko.nixosModules.default

View File

@@ -2,8 +2,8 @@
{ {
imports = [ imports = [
../../home-manager/base.nix ../../home-manager
../../home-manager/development/all.nix ../../home-manager/development
../../home-manager/gaming.nix ../../home-manager/gaming.nix
../../home-manager/streamlink.nix ../../home-manager/streamlink.nix
]; ];
@@ -79,7 +79,7 @@
gpu-api = "auto"; gpu-api = "auto";
gpu-context = "auto"; gpu-context = "auto";
hwdec = "auto"; hwdec = "auto";
# screenshot-directory = "/mnt/HDD2/Pictures/"; screenshot-directory = "/mnt/HDD2/Pictures/";
glsl-shaders = "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; glsl-shaders = "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl";
}; };
extraInput = '' extraInput = ''

36
flake.lock generated
View File

@@ -45,11 +45,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1758313341, "lastModified": 1758463745,
"narHash": "sha256-SsI6INUzWwPcRKRaxvi50RttnD9rcC4EjV+67TOEfrQ=", "narHash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "6f656618ebc71ca82d93d306a8aecb2c5f6f2ab2", "rev": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -66,11 +66,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1757822619, "lastModified": 1758427679,
"narHash": "sha256-3HIpe3P2h1AUPYcAH9cjuX0tZOqJpX01c0iDwoUYNZ8=", "narHash": "sha256-xwjWRJTKDCjQ0iwfh7WhDhgcS0Wt3d1Yscg83mKBCn4=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-index-database", "repo": "nix-index-database",
"rev": "050a5feb5d1bb5b6e5fc04a7d3d816923a87c9ea", "rev": "fd2569ca2ef7d69f244cd9ffcb66a0540772ff85",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -105,11 +105,11 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1758246789, "lastModified": 1758678836,
"narHash": "sha256-8u8Q6mwiYnk6OjCKzKLEUFGImbvc3GWV0H7vOGBA6W4=", "narHash": "sha256-ewDKEXcKYF7L+EGVa+8E1nxK1pdwVrCHcj5UhuGA8V0=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-vscode-extensions", "repo": "nix-vscode-extensions",
"rev": "acb6a0343d3bd8ad35de56cc91935b709a822fe9", "rev": "5007786714b3573b37cf3b8c4a33e2ddce86960d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -120,11 +120,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1757943327, "lastModified": 1758663926,
"narHash": "sha256-w6cDExPBqbq7fTLo4dZ1ozDGeq3yV6dSN4n/sAaS6OM=", "narHash": "sha256-6CFdj7Xs616t1W4jLDH7IohAAvl5Dyib3qEv/Uqw1rk=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "67a709cfe5d0643dafd798b0b613ed579de8be05", "rev": "170ff93c860b2a9868ed1e1102d4e52cb3d934e1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -152,11 +152,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1758198701, "lastModified": 1758427187,
"narHash": "sha256-7To75JlpekfUmdkUZewnT6MoBANS0XVypW6kjUOXQwc=", "narHash": "sha256-pHpxZ/IyCwoTQPtFIAG2QaxuSm8jWzrzBGjwQZIttJc=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "0147c2f1d54b30b5dd6d4a8c8542e8d7edf93b5d", "rev": "554be6495561ff07b6c724047bdd7e0716aa7b46",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -168,11 +168,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1758216857, "lastModified": 1758589230,
"narHash": "sha256-h1BW2y7CY4LI9w61R02wPaOYfmYo82FyRqHIwukQ6SY=", "narHash": "sha256-zMTCFGe8aVGTEr2RqUi/QzC1nOIQ0N1HRsbqB4f646k=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "d2ed99647a4b195f0bcc440f76edfa10aeb3b743", "rev": "d1d883129b193f0b495d75c148c2c3a7d95789a0",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -0,0 +1,9 @@
{ ... }:
{
imports = [
./fonts.nix
./mpv.nix
./terminal.nix
];
}

View File

@@ -2,10 +2,8 @@
{ {
imports = [ imports = [
./base/fonts.nix ./base
./base/terminal.nix ./firefox
./base/mpv.nix
./firefox/firefox.nix
]; ];
home.packages = with pkgs;[ home.packages = with pkgs;[

View File

@@ -2,10 +2,10 @@
{ {
imports = [ imports = [
./vscode.nix
./helix.nix
./dotnet.nix ./dotnet.nix
./sql.nix
./games.nix ./games.nix
./helix.nix
./sql.nix
./vscode.nix
]; ];
} }