organization

This commit is contained in:
caandt 2024-10-18 22:42:11 -05:00
parent dfa1b0a43d
commit 21ef85821e
12 changed files with 149 additions and 106 deletions

View file

@ -21,7 +21,7 @@
specialArgs = {
inherit pkgs-stable;
};
modules = [ system/configuration.nix ];
modules = [ ./system ];
};
homeConfigurations.ahnwuoa = home-manager.lib.homeManagerConfiguration {
inherit pkgs;

18
system/audio.nix Normal file
View file

@ -0,0 +1,18 @@
{ ... }:
{
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
security.rtkit.enable = true;
hardware.bluetooth = {
enable = true;
powerOnBoot = true;
settings.General = {
Enable = "Source,Sink,Media,Socket";
};
};
}

9
system/bash.nix Normal file
View file

@ -0,0 +1,9 @@
{ lib, ... }:
{
programs.bash = {
completion.enable = true;
promptInit = ''PS1="[\u \W] \[\e[32;1m\]\$\[\e[0m\] "'';
};
environment.etc.bashrc.text = lib.mkAfter ''[ -f ~/.config/bash/bashrc ] && . ~/.config/bash/bashrc'';
}

12
system/boot.nix Normal file
View file

@ -0,0 +1,12 @@
{ ... }:
{
boot.loader = {
grub.enable = true;
grub.device = "nodev";
grub.efiSupport = true;
grub.useOSProber = true;
efi.canTouchEfiVariables = true;
};
environment.etc.issue.text = "\nNixOS \\r (\\m) - \\l\n\n";
}

View file

@ -1,22 +1,11 @@
{ config, pkgs, lib, ... }:
{
imports = [ ./hardware-configuration.nix ];
nix.settings = {
experimental-features = [ "nix-command" "flakes" ];
use-xdg-base-directories = true;
};
boot.loader = {
grub.enable = true;
grub.device = "nodev";
grub.efiSupport = true;
grub.useOSProber = true;
efi.canTouchEfiVariables = true;
};
environment.etc.issue.text = "\nNixOS \\r (\\m) - \\l\n\n";
environment.pathsToLink = [ "/libexec" ];
environment.localBinInPath = true;
@ -27,59 +16,6 @@
time.timeZone = "America/Chicago";
i18n.defaultLocale = "en_US.UTF-8";
i18n.supportedLocales = [
"en_US.UTF-8/UTF-8"
"ja_JP.UTF-8/UTF-8"
];
i18n.inputMethod = {
enable = true;
type = "fcitx5";
fcitx5.addons = with pkgs; [
fcitx5-mozc
fcitx5-gtk
];
};
fonts.packages = with pkgs; [
noto-fonts
noto-fonts-cjk
source-han-sans
source-han-serif
(nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
];
services.xserver = {
enable = true;
autorun = false;
displayManager.sx.enable = true;
windowManager.awesome.enable = true;
desktopManager.plasma5.enable = true;
autoRepeatDelay = 200;
autoRepeatInterval = 30;
videoDrivers = [ "amdgpu" ];
deviceSection = ''Option "TearFree" "true"'';
};
services.libinput = {
enable = true;
mouse.accelProfile = "flat";
};
services.xserver.wacom.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
security.rtkit.enable = true;
hardware.bluetooth = {
enable = true;
powerOnBoot = true;
settings.General = {
Enable = "Source,Sink,Media,Socket";
};
};
environment.systemPackages = with pkgs; [
neovim
wget
@ -93,52 +29,11 @@
home-manager
];
documentation.dev.enable = true;
programs.bash = {
completion.enable = true;
promptInit = ''PS1="[\u \W] \[\e[32;1m\]\$\[\e[0m\] "'';
};
environment.etc.bashrc.text = lib.mkAfter ''[ -f ~/.config/bash/bashrc ] && . ~/.config/bash/bashrc'';
users.users.ahnwuoa = {
isNormalUser = true;
extraGroups = [ "wheel" "podman" ];
};
xdg.terminal-exec = {
enable = true;
settings.default = [ "Alacritty.desktop" ];
};
programs.partition-manager = {
enable = true;
package = pkgs.libsForQt5.partitionmanager;
};
services.udisks2.enable = true;
virtualisation.containers.enable = true;
virtualisation = {
podman = {
enable = true;
dockerCompat = true;
defaultNetwork.settings.dns_enabled = true;
};
};
virtualisation.libvirtd.enable = true;
programs.virt-manager.enable = true;
programs.nix-ld.enable = true;
hardware.graphics.enable32Bit = true;
security.doas = {
enable = true;
extraRules = [
{ groups = [ "wheel" ]; persist = true; }
];
};
security.polkit.enable = true;
systemd.user.services = {
plasma-kactivitymanagerd.enable = false;
plasma-xdg-desktop-portal-kde.enable = false;
};
system.stateVersion = "24.05";
}

17
system/default.nix Normal file
View file

@ -0,0 +1,17 @@
{ ... }:
{
imports = [
./audio.nix
./bash.nix
./boot.nix
./configuration.nix
./display.nix
./hardware-configuration.nix
./locale.nix
./plasma.nix
./security.nix
./users.nix
./virt.nix
];
}

20
system/display.nix Normal file
View file

@ -0,0 +1,20 @@
{ ... }:
{
services.xserver = {
enable = true;
autorun = false;
displayManager.sx.enable = true;
windowManager.awesome.enable = true;
desktopManager.plasma5.enable = true;
autoRepeatDelay = 200;
autoRepeatInterval = 30;
videoDrivers = [ "amdgpu" ];
deviceSection = ''Option "TearFree" "true"'';
};
services.libinput = {
enable = true;
mouse.accelProfile = "flat";
};
services.xserver.wacom.enable = true;
}

24
system/locale.nix Normal file
View file

@ -0,0 +1,24 @@
{ pkgs, ... }:
{
i18n.defaultLocale = "en_US.UTF-8";
i18n.supportedLocales = [
"en_US.UTF-8/UTF-8"
"ja_JP.UTF-8/UTF-8"
];
i18n.inputMethod = {
enable = true;
type = "fcitx5";
fcitx5.addons = with pkgs; [
fcitx5-mozc
fcitx5-gtk
];
};
fonts.packages = with pkgs; [
noto-fonts
noto-fonts-cjk
source-han-sans
source-han-serif
(nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
];
}

13
system/plasma.nix Normal file
View file

@ -0,0 +1,13 @@
{ pkgs, ... }:
{
programs.partition-manager = {
enable = true;
package = pkgs.libsForQt5.partitionmanager;
};
services.udisks2.enable = true;
systemd.user.services = {
plasma-kactivitymanagerd.enable = false;
plasma-xdg-desktop-portal-kde.enable = false;
};
}

11
system/security.nix Normal file
View file

@ -0,0 +1,11 @@
{ ... }:
{
security.doas = {
enable = true;
extraRules = [
{ groups = [ "wheel" ]; persist = true; }
];
};
security.polkit.enable = true;
}

8
system/users.nix Normal file
View file

@ -0,0 +1,8 @@
{ ... }:
{
users.users.ahnwuoa = {
isNormalUser = true;
extraGroups = [ "wheel" "podman" ];
};
}

16
system/virt.nix Normal file
View file

@ -0,0 +1,16 @@
{ ... }:
{
virtualisation.containers.enable = true;
virtualisation = {
podman = {
enable = true;
dockerCompat = true;
defaultNetwork.settings.dns_enabled = true;
};
};
virtualisation.libvirtd.enable = true;
programs.virt-manager.enable = true;
programs.nix-ld.enable = true;
hardware.graphics.enable32Bit = true;
}