Compare commits

...
Author SHA1 Message Date
lucy
ead86e1588 fix minor issues 2026-10-07 15:20:10 +02:00
lucy
e7a5944b7d structure config 2026-10-07 15:16:15 +02:00
lucy
28985be5f0 create structure 2026-10-07 14:39:20 +02:00
15 changed files with 133 additions and 299 deletions

View file

@ -1,199 +0,0 @@
{
config,
lib,
pkgs,
...
}:
{
age.enable = true;
age.identityPaths = [ "/var/lib/misc/key.age" ];
age.secrets.easyroam.file = ./secrets/easyroam.age;
services.easyroam = {
enable = true;
pkcsFile = config.age.secrets.easyroam.path;
networkmanager.enable = true;
};
systemd.services.wpa_supplicant = {
wants = [ "easyroam-cert-setup.service" ];
after = [ "easyroam-cert-setup.service" ];
};
services.tlp = lib.mkIf (config.networking.hostName == "seele") {
enable = true;
pd.enable = true;
};
programs.steam.enable = true;
services.syncthing = {
user = "lucy";
dataDir = "/home/lucy/sync";
configDir = "/home/lucy/.config/syncthing";
enable = true;
openDefaultPorts = true;
settings = {
devices = {
"cyberia" = {
id = "OOJBAJU-AAIKLHO-BKMMHBU-2NXE75Z-HE64A6V-LET4ZXB-Q2FT2Y4-GZON3AD";
};
};
};
};
hardware.bluetooth = {
enable = true;
powerOnBoot = false;
input.General.ClassicBondedOnly = false;
settings = {
General = {
Experimental = true;
};
};
};
hardware.graphics.enable = true;
services.blueman.enable = true;
services.xserver.videoDrivers = lib.mkIf (config.networking.hostName == "nerv") [ "nvidia" ];
hardware.nvidia = lib.mkIf (config.networking.hostName == "nerv") {
modesetting.enable = true;
open = true;
package = config.boot.kernelPackages.nvidiaPackages.new_feature;
};
environment.sessionVariables.NIXOS_OZONE_WL = "1";
boot.loader.systemd-boot.enable = false;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.limine = {
enable = true;
extraEntries = lib.mkIf (config.networking.hostName == "nerv") ''
/Windows 11
protocol: efi
path: uuid(6E25-7E8D):/EFI/Microsoft/Boot/bootmgfw.efi
'';
};
boot.kernelPackages = pkgs.linuxPackages_latest;
networking.networkmanager.enable = true;
time.timeZone = "Europe/Berlin";
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "de_DE.UTF-8";
LC_IDENTIFICATION = "de_DE.UTF-8";
LC_MEASUREMENT = "de_DE.UTF-8";
LC_MONETARY = "de_DE.UTF-8";
LC_NAME = "de_DE.UTF-8";
LC_NUMERIC = "de_DE.UTF-8";
LC_PAPER = "de_DE.UTF-8";
LC_TELEPHONE = "de_DE.UTF-8";
LC_TIME = "de_DE.UTF-8";
};
services.displayManager.gdm.enable = true;
services.emacs.enable = false;
services.xserver.xkb = {
layout = "eu";
variant = "";
};
services.printing.enable = true;
services.pulseaudio.enable = false;
security.rtkit.enable = true;
services.upower.enable = true;
# add niri
security.polkit.enable = true; # polkit
security.polkit.enablePkexecWrapper = true;
services.gnome.gnome-keyring.enable = true;
services.gvfs.enable = true;
services.udisks2.enable = true;
programs.niri.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
programs.nixcord = {
enable = true;
user = "lucy";
discord.enable = false;
vesktop.enable = true;
config.plugins = {
messageLogger.enable = true;
messageClickActions.enable = true;
};
config.enabledThemes = [ "tinted.css" ];
};
programs.mango.enable = true;
users.users."lucy" = {
isNormalUser = true;
description = "lucy";
extraGroups = [
"networkmanager"
"wheel"
];
packages = with pkgs; [
stow
ufetch
rbw
clang
clang-tools
gnumake
emacs
tinty
foot
pinentry-gnome3
git
nixd
nixfmt
xournalpp
btop
chromium
fuzzel
quickshell
kdePackages.qtdeclarative
jq
grim
slurp
wl-clipboard
adw-gtk3
papirus-icon-theme
apple-cursor
polkit_gnome
xwayland-satellite
nautilus
libwacom
xf86-input-wacom
libreoffice-stable
gdb
];
};
fonts.packages = with pkgs; [
jetbrains-mono
nerd-fonts.jetbrains-mono
noto-fonts
noto-fonts-cjk-sans
noto-fonts-color-emoji
inter
];
programs.chromium.enable = true;
programs.chromium.extensions = [
"nngceckbapebfimnlniiiahkandclblb" # bitwarden
"ddkjiahejlhfcafbddmgiahcphecmpfh" # ublock origin lite
];
nixpkgs.config.allowUnfree = true;
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
environment.etc = {
"chromium" = {
enable = true;
mode = "symlink";
source = "/home/lucy/.local/share/tinted-theming/tinty/tinted-chromium-build-file.json";
target = "chromium/policies/managed/theme.json";
};
};
system.stateVersion = "26.05"; # Did you read the comment?
}

View file

@ -6,62 +6,10 @@
}:
{
age.enable = true;
age.identityPaths = [ "/var/lib/misc/key.age" ];
age.secrets.easyroam.file = ./secrets/easyroam.age;
services.easyroam = {
enable = true;
pkcsFile = config.age.secrets.easyroam.path;
networkmanager.enable = true;
};
systemd.services.wpa_supplicant = {
wants = [ "easyroam-cert-setup.service" ];
after = [ "easyroam-cert-setup.service" ];
};
services.tlp = lib.mkIf (config.networking.hostName == "seele") {
enable = true;
pd.enable = true;
};
programs.steam.enable = true;
services.syncthing = {
user = "lucy";
dataDir = "/home/lucy/sync";
configDir = "/home/lucy/.config/syncthing";
enable = true;
openDefaultPorts = true;
settings = {
devices = {
"cyberia" = {
id = "OOJBAJU-AAIKLHO-BKMMHBU-2NXE75Z-HE64A6V-LET4ZXB-Q2FT2Y4-GZON3AD";
};
};
};
};
hardware.bluetooth = {
enable = true;
powerOnBoot = false;
input.General.ClassicBondedOnly = false;
settings = {
General = {
Experimental = true;
};
};
};
hardware.graphics.enable = true;
services.blueman.enable = true;
services.xserver.videoDrivers = lib.mkIf (config.networking.hostName == "nerv") [ "nvidia" ];
hardware.nvidia = lib.mkIf (config.networking.hostName == "nerv") {
modesetting.enable = true;
open = true;
package = config.boot.kernelPackages.nvidiaPackages.new_feature;
};
environment.sessionVariables.NIXOS_OZONE_WL = "1";
boot.loader.systemd-boot.enable = false;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.limine = {
enable = true;
@ -70,12 +18,9 @@
protocol: efi
path: uuid(6E25-7E8D):/EFI/Microsoft/Boot/bootmgfw.efi
'';
};
boot.kernelPackages = pkgs.linuxPackages_latest;
networking.networkmanager.enable = true;
time.timeZone = "Europe/Berlin";
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
@ -89,55 +34,10 @@
LC_TELEPHONE = "de_DE.UTF-8";
LC_TIME = "de_DE.UTF-8";
};
services.displayManager.gdm.enable = true;
services.emacs.enable = false;
services.xserver.xkb = {
layout = "eu";
variant = "";
};
services.printing.enable = true;
services.pulseaudio.enable = false;
security.rtkit.enable = true;
services.upower.enable = true;
# add niri
security.polkit.enable = true; # polkit
security.polkit.enablePkexecWrapper = true;
services.gnome.gnome-keyring.enable = true;
services.gvfs.enable = true;
services.udisks2.enable = true;
programs.niri.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
programs.nixcord = {
enable = true;
user = "lucy";
discord.enable = false;
vesktop.enable = true;
config.plugins = {
messageLogger.enable = true;
messageClickActions.enable = true;
};
config.enabledThemes = [ "tinted.css" ];
};
programs.zsh = {
enable = true;
enableCompletion = true;
autosuggestions.enable = true;
syntaxHighlighting.enable = true;
ohMyZsh = {
enable = true;
theme = "gentoo";
};
shellInit = ''export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/rbw/ssh-agent-socket"'';
};
system.userActivationScripts.zshrc = "touch .zshrc";
users.users."lucy" = {
isNormalUser = true;
description = "lucy";

View file

@ -44,6 +44,7 @@
nix-easyroam.nixosModules.nix-easyroam
./configuration.nix
./maid.nix
./modules/default.nix
];
in
{

7
modules/default.nix Normal file
View file

@ -0,0 +1,7 @@
{
imports = [
./programs
./services
./hardware
];
}

View file

@ -0,0 +1,12 @@
{
hardware.bluetooth = {
enable = true;
powerOnBoot = false;
input.General.ClassicBondedOnly = false;
settings = {
General = {
Experimental = true;
};
};
};
}

View file

@ -0,0 +1,7 @@
{
imports = [
./nvidia.nix
./bluetooth.nix
];
hardware.graphics.enable = true;
}

View file

@ -0,0 +1,7 @@
{ lib, config, ... }: {
hardware.nvidia = lib.mkIf (config.networking.hostName == "nerv") {
modesetting.enable = true;
open = true;
package = config.boot.kernelPackages.nvidiaPackages.new_feature;
};
}

View file

@ -0,0 +1,8 @@
{ config, pkgs, ... }: {
programs.niri.enable = true;
programs.steam.enable = true;
imports = [
./zsh.nix
./nixcord.nix
];
}

View file

@ -0,0 +1,13 @@
{
programs.nixcord = {
enable = true;
user = "lucy";
discord.enable = false;
vesktop.enable = true;
config.plugins = {
messageLogger.enable = true;
messageClickActions.enable = true;
};
config.enabledThemes = [ "tinted.css" ];
};
}

14
modules/programs/zsh.nix Normal file
View file

@ -0,0 +1,14 @@
{
programs.zsh = {
enable = true;
enableCompletion = true;
autosuggestions.enable = true;
syntaxHighlighting.enable = true;
ohMyZsh = {
enable = true;
theme = "gentoo";
};
shellInit = ''export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/rbw/ssh-agent-socket"'';
};
system.userActivationScripts.zshrc = "touch .zshrc";
}

View file

@ -0,0 +1,23 @@
{ config, pkgs, lib, ... }: {
imports = [
./tlp.nix
./easyroam.nix
./syncthing.nix
./pipewire.nix
];
services = {
xserver.videoDrivers = lib.mkIf (config.networking.hostName == "nerv") [ "nvidia" ];
blueman.enable = true;
printing.enable = true;
emacs.enable = false;
xserver.xkb = {
layout = "eu";
variant = "";
};
upower.enable = true;
displayManager.gdm.enable = true;
udisks2.enable = true;
gvfs.enable = true;
gnome.gnome-keyring.enable = true;
};
}

View file

@ -0,0 +1,11 @@
{ config, ... }: {
services.easyroam = {
enable = true;
pkcsFile = config.age.secrets.easyroam.path;
networkmanager.enable = true;
};
systemd.services.wpa_supplicant = {
wants = [ "easyroam-cert-setup.service" ];
after = [ "easyroam-cert-setup.service" ];
};
}

View file

@ -0,0 +1,8 @@
{
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
}

View file

@ -0,0 +1,16 @@
{
services.syncthing = {
user = "lucy";
dataDir = "/home/lucy/sync";
configDir = "/home/lucy/.config/syncthing";
enable = true;
openDefaultPorts = true;
settings = {
devices = {
"cyberia" = {
id = "OOJBAJU-AAIKLHO-BKMMHBU-2NXE75Z-HE64A6V-LET4ZXB-Q2FT2Y4-GZON3AD";
};
};
};
};
}

6
modules/services/tlp.nix Normal file
View file

@ -0,0 +1,6 @@
{
services.tlp = {
enable = true;
pd.enable = true;
};
}