even more changes
This commit is contained in:
parent
70641598f9
commit
1d2a73c25a
14 changed files with 120 additions and 108 deletions
|
@ -4,8 +4,6 @@
|
|||
config,
|
||||
...
|
||||
}: {
|
||||
# allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
# Time Zone
|
||||
time.timeZone = "Europe/Zurich";
|
||||
# Select internationalisation properties.
|
||||
|
@ -17,117 +15,109 @@
|
|||
trusted-public-keys = [
|
||||
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
||||
];
|
||||
trusted-users = ["root" "${config.modules.other.system.username}"];
|
||||
# enable flakes
|
||||
experimental-features = ["nix-command" "flakes"];
|
||||
# reduce file size used & automatic garbage collector
|
||||
auto-optimise-store = true;
|
||||
max-jobs = 3;
|
||||
cores = 4;
|
||||
};
|
||||
};
|
||||
security.sudo.package = pkgs.sudo.override {withInsults = true;};
|
||||
security.polkit.enable = true;
|
||||
programs.kdeconnect.enable = true;
|
||||
programs.dconf.enable = true;
|
||||
services.thermald.enable = true;
|
||||
services.auto-cpufreq = {
|
||||
enable = true;
|
||||
settings = {
|
||||
battery = {
|
||||
governor = "powersave";
|
||||
turbo = "auto";
|
||||
};
|
||||
charger = {
|
||||
governor = "performance";
|
||||
turbo = "auto";
|
||||
};
|
||||
};
|
||||
};
|
||||
virtualisation.docker.enable = true;
|
||||
boot.kernelPackages = pkgs.linuxPackages_xanmod_latest;
|
||||
modules = {
|
||||
system = {
|
||||
hardware = {
|
||||
nvidia.enable = true;
|
||||
bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = false;
|
||||
};
|
||||
};
|
||||
programs = {
|
||||
editors = {
|
||||
emacs.enable = false;
|
||||
neovim.enable = true;
|
||||
helix.enable = false;
|
||||
kakoune.enable = false;
|
||||
};
|
||||
discord.enable = true;
|
||||
firefox.enable = true;
|
||||
spotify.enable = true;
|
||||
zellij.enable = true;
|
||||
terminals = {
|
||||
foot.enable = true;
|
||||
kitty.enable = true;
|
||||
};
|
||||
};
|
||||
sound.enable = true;
|
||||
};
|
||||
usrEnv = {
|
||||
desktops.hyprland.enable = true;
|
||||
programs = {
|
||||
launchers = {
|
||||
anyrun.enable = true;
|
||||
rofi.enable = true;
|
||||
};
|
||||
media = {
|
||||
beets.enable = true;
|
||||
mpv.enable = true;
|
||||
ncmpcpp.enable = true;
|
||||
};
|
||||
};
|
||||
services = {
|
||||
locate.enable = true;
|
||||
media.mpd = {
|
||||
enable = true;
|
||||
musicDirectory = "/home/${config.modules.other.system.username}/Nextcloud/Media/Music";
|
||||
};
|
||||
};
|
||||
style = {
|
||||
gtk.enable = true;
|
||||
stylix = {
|
||||
enable = false;
|
||||
scheme = "${pkgs.base16-schemes}/share/themes/bright.yaml";
|
||||
cursor = {
|
||||
size = 28;
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Classic";
|
||||
};
|
||||
fontsizes = {
|
||||
terminal = 18;
|
||||
popups = 14;
|
||||
applications = 14;
|
||||
};
|
||||
image = self + "assets/wallpapers/wholefoods.jpg";
|
||||
};
|
||||
};
|
||||
};
|
||||
other = {
|
||||
system = {
|
||||
hostname = "hermit";
|
||||
username = "vali";
|
||||
gitPath = "/home/vali/repos/nichts";
|
||||
gitPath = "/home/vali/projects/nichts";
|
||||
};
|
||||
home-manager = {
|
||||
enable = true;
|
||||
enableDirenv = true;
|
||||
};
|
||||
};
|
||||
wms = {
|
||||
wayland = {
|
||||
enable = true;
|
||||
hyprland.enable = true;
|
||||
};
|
||||
};
|
||||
system = {
|
||||
programs = {
|
||||
discord.enable = true;
|
||||
firefox.enable = true;
|
||||
zathura.enable = true;
|
||||
terminals = {
|
||||
foot.enable = true;
|
||||
kitty.enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
usrEnv = {
|
||||
programs = {
|
||||
launchers = {
|
||||
anyrun.enable = true;
|
||||
};
|
||||
};
|
||||
services = {
|
||||
mpd.enable = true;
|
||||
};
|
||||
};
|
||||
programs = {
|
||||
vesktop.enable = true;
|
||||
ssh.enable = true;
|
||||
btop.enable = true;
|
||||
mpv.enable = true;
|
||||
newsboat.enable = true;
|
||||
fish.enable = true;
|
||||
ncmpcpp.enable = true;
|
||||
nh.enable = true;
|
||||
steam.enable = true;
|
||||
waybar.enable = true;
|
||||
beets.enable = true;
|
||||
};
|
||||
editors = {
|
||||
emacs.enable = false;
|
||||
helix.enable = true;
|
||||
kakoune.enable = false;
|
||||
neovim.enable = false;
|
||||
};
|
||||
services = {
|
||||
pipewire.enable = true;
|
||||
dunst.enable = true;
|
||||
mpd = {
|
||||
enable = true;
|
||||
musicDirectory = "/home/${config.modules.other.system.username}/Nextcloud/Media/Music";
|
||||
};
|
||||
};
|
||||
theming = {
|
||||
quickshell.enable = true;
|
||||
stylix = {
|
||||
# FIXME: Broken
|
||||
enable = true;
|
||||
# scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-pale.yaml";
|
||||
scheme = "${pkgs.base16-schemes}/share/themes/tomorrow-night.yaml";
|
||||
cursor = {size = 28;};
|
||||
fontsizes = {
|
||||
terminal = 18;
|
||||
popups = 14;
|
||||
applications = 14;
|
||||
};
|
||||
image = self + "assets/wallpapers/tiredgod.png";
|
||||
};
|
||||
gtk = {enable = false;};
|
||||
qt = {
|
||||
enable = true;
|
||||
enable = false;
|
||||
package = pkgs.kde-gruvbox;
|
||||
name = "Gruvbox-Dark";
|
||||
};
|
||||
|
|
|
@ -3,6 +3,5 @@ _: {
|
|||
./configuration.nix
|
||||
./programs.nix
|
||||
./hardware-configuration.nix
|
||||
./profile.nix
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
_: {
|
||||
imports = [
|
||||
../../../options/boot/grub-boot.nix
|
||||
../../../options/common/bluetooth.nix
|
||||
../../../options/common/networking.nix
|
||||
../../../options/common/gpu/nvidia.nix
|
||||
../../../options/desktop/monitors.nix
|
||||
];
|
||||
}
|
12
modules/default.nix
Normal file
12
modules/default.nix
Normal file
|
@ -0,0 +1,12 @@
|
|||
_: {
|
||||
imports = [
|
||||
./programs
|
||||
./other
|
||||
./services
|
||||
./wms
|
||||
./runners
|
||||
./style
|
||||
./options
|
||||
./system
|
||||
];
|
||||
}
|
15
modules/options/system/hardware.nix
Normal file
15
modules/options/system/hardware.nix
Normal file
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkOption mkEnableOption;
|
||||
inherit (lib.types) str package int;
|
||||
in {
|
||||
options.modules.system.hardware = {
|
||||
nvidia = {
|
||||
enable = mkEnableOption "Nvidia Nvidia graphics drivers";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -38,6 +38,8 @@ in {
|
|||
|
||||
# monitor configuration
|
||||
./monitors.nix
|
||||
|
||||
./hardware.nix
|
||||
];
|
||||
config = {
|
||||
warnings = mkMerge [
|
||||
|
@ -92,12 +94,13 @@ in {
|
|||
|
||||
video = {
|
||||
enable = mkEnableOption "video drivers and programs that require a graphical user interface";
|
||||
nvidia = mkOption "Nvidia graphics drivers";
|
||||
amd = mkOption "AMD graphics drivers";
|
||||
nvidia = mkEnableOption "Nvidia graphics drivers";
|
||||
amd = mkEnableOption "AMD graphics drivers";
|
||||
};
|
||||
|
||||
bluetooth = {
|
||||
hardware.bluetooth = {
|
||||
enable = mkEnableOption "bluetooth modules, drivers and configuration program(s)";
|
||||
powerOnBoot = mkEnableOption "Enable bluetooth on boot";
|
||||
};
|
||||
|
||||
# should the device enable printing module and try to load common printer modules
|
||||
|
|
|
@ -3,14 +3,6 @@ _: {
|
|||
./cli
|
||||
./gui
|
||||
./tui
|
||||
./other
|
||||
./services
|
||||
./editors
|
||||
./wms
|
||||
./runners
|
||||
./style
|
||||
./options
|
||||
./system/nix/module.nix
|
||||
./system
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
_: {
|
||||
imports = [
|
||||
./stylix.nix
|
||||
./quickshell
|
||||
./qt.nix
|
||||
./gtk.nix
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
}: let
|
||||
inherit (lib.types) optional;
|
||||
inherit (config.modules.system.fonts) extraFonts;
|
||||
inherit (config.modules.other.system) username;
|
||||
in {
|
||||
# A (somewhat) sane list of default fonts to be installed.
|
||||
fonts.packages = with pkgs;
|
||||
|
@ -21,6 +22,7 @@ in {
|
|||
]
|
||||
++ optional (extraFonts != null) extraFonts;
|
||||
# this fixes emoji stuff
|
||||
home-manager.users.${username} = {
|
||||
fontconfig = {
|
||||
defaultFonts = {
|
||||
monospace = ["ComicShannsMono Nerd Font" "Noto Color Emoji"];
|
||||
|
@ -29,4 +31,5 @@ in {
|
|||
emoji = ["Noto Color Emoji"];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
1
modules/system/boot/default.nix
Normal file
1
modules/system/boot/default.nix
Normal file
|
@ -0,0 +1 @@
|
|||
_: {imports = [./grub-boot.nix];}
|
|
@ -1,5 +1,9 @@
|
|||
_: {
|
||||
imports = [
|
||||
./keyboard.nix
|
||||
./boot
|
||||
./hardware
|
||||
./nix/module.nix
|
||||
./os/networking/module.nix
|
||||
];
|
||||
}
|
||||
|
|
|
@ -2,12 +2,13 @@
|
|||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
cfg = config.modules.system.hardware.bluetooth;
|
||||
inherit (config.modules.other.system) username;
|
||||
inherit (lib) mkIf;
|
||||
in {
|
||||
confg = mkIf cfg.enable {
|
||||
config = mkIf cfg.enable {
|
||||
hardware.bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = mkIf cfg.powerOnBoot true;
|
||||
|
|
1
modules/system/hardware/default.nix
Normal file
1
modules/system/hardware/default.nix
Normal file
|
@ -0,0 +1 @@
|
|||
_: {imports = [./bluetooth.nix ./graphics.nix];}
|
|
@ -0,0 +1 @@
|
|||
_: {imports = [./pipewire];}
|
Loading…
Add table
Add a link
Reference in a new issue