refactoring

This commit is contained in:
Tao Tien 2024-03-18 14:50:43 -07:00
parent 4311082a72
commit c9804239d3
10 changed files with 214 additions and 268 deletions

View file

@ -1,5 +1,5 @@
{...}: {
services.xserver.displayManager.sddm.enable = true;
services.xserver.displayManager.cosmic-greeter.enable = false;
services.xserver.desktopManager.cosmic.enable = true;
services.displayManager.cosmic-greeter.enable = false;
services.desktopManager.cosmic.enable = true;
}

View file

@ -7,6 +7,7 @@
lua-language-server
# freecad
# vulkan-loader
# gh
# etcher
hyperfine
jq
@ -58,10 +59,18 @@
trunk
];
# programs.nix-ld.enable = true;
# programs.nix-ld.libraries = with pkgs; [
# xorg.libX11
# ];
programs.nix-ld.enable = true;
programs.nix-ld.libraries = with pkgs; [
libxkbcommon
libGL
wayland.dev
xorg.libX11
xorg.libXrandr
xorg.libXi
xorg.libX11
];
services.udev.extraRules = ''
SUBSYSTEM == "tty", GROUP="dialout", ATTRS{interface}=="Black Magic GDB Server", SYMLINK+="ttyBmpGdb"

View file

@ -35,47 +35,4 @@
value = -20;
}
];
# services.pipewire.enable = false;
services.pipewire.extraConfig = {
pipewire."99-low-latency" = {
context.properties = {
default.allowed-rates = [44100 48000 96000];
default.clock.rate = 192000;
default.clock.quantum = 32;
default.clock.min-quantum = 32;
default.clock.max-quantum = 32;
};
context.modules = [
{
name = "libpipewire-module-rt";
args = {
nice.level = -12;
rt.prio = 89;
rt.time.soft = 200000;
rt.time.hard = 200000;
};
flags = ["ifexists nofail"];
}
];
};
pipewire-pulse."99-low-latency" = {
context.modules = [
{
name = "libpipewire-module-protocol-pulse";
args = {
pulse.min.req = "32/192000";
pulse.default.req = "32/192000";
pulse.max.req = "32/192000";
pulse.min.quantum = "32/192000";
pulse.max.quantum = "32/192000";
};
}
];
stream.properties = {
node.latency = "32/192000";
resample.quality = 1;
};
};
};
}

30
flake.lock generated
View file

@ -125,11 +125,11 @@
]
},
"locked": {
"lastModified": 1710532761,
"narHash": "sha256-SUXGZNrXX05YA9G6EmgupxhOr3swI1gcxLUeDMUhrEY=",
"lastModified": 1710796387,
"narHash": "sha256-ve/vpbby+4LPJrlNGqGyuzZMLL7zHUZhvvKu1StsaC8=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "206f457fffdb9a73596a4cb2211a471bd305243d",
"rev": "baf7659448ffa6ab6870dba1ca681a4868c3068a",
"type": "github"
},
"original": {
@ -147,11 +147,11 @@
"rust-overlay": "rust-overlay_2"
},
"locked": {
"lastModified": 1710599573,
"narHash": "sha256-daQQ5pRa3IGxvrsYYe952cr3BaOogApw1Dib9ddP7XM=",
"lastModified": 1710795014,
"narHash": "sha256-QTJ6dDQjTwh+/6tihGSKyG0mly3EpTVu/RcOwRGpOIY=",
"owner": "martinvonz",
"repo": "jj",
"rev": "d832b4488c015bb65f505fca536263f43152ec56",
"rev": "f865c1bc5d96f609d2919d559de045dda8256c7c",
"type": "github"
},
"original": {
@ -193,11 +193,11 @@
]
},
"locked": {
"lastModified": 1710635256,
"narHash": "sha256-PkTcVAejIyTm+H9M4XBJIzAxB+ZT5yjEqxqI4t0HNMw=",
"lastModified": 1710795169,
"narHash": "sha256-1aQiqYWl97BP9Lgvfw/jNWTZuUO9l5t7M23NhSo0mkY=",
"owner": "lilyinstarlight",
"repo": "nixos-cosmic",
"rev": "5465fccc892d748971dfac94e28a965f4b86c256",
"rev": "8681e30a946d2d34141f3a28c8817af217b24241",
"type": "github"
},
"original": {
@ -208,11 +208,11 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1710622004,
"narHash": "sha256-6zR642tXcZzzk3C8BHxlCrR0yh8z8zMXLiuXpWDIpX0=",
"lastModified": 1710783728,
"narHash": "sha256-eIsfu3c9JUBgm3cURSKTXLEI9Dlk1azo+MWKZVqrmkc=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "968952f950a59dee9ed1e8799dda38c6dfa1bad3",
"rev": "1e679b9a9970780cd5d4dfe755a74a8f96d33388",
"type": "github"
},
"original": {
@ -272,11 +272,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1710451336,
"narHash": "sha256-pP86Pcfu3BrAvRO7R64x7hs+GaQrjFes+mEPowCfkxY=",
"lastModified": 1710631334,
"narHash": "sha256-rL5LSYd85kplL5othxK5lmAtjyMOBg390sGBTb3LRMM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d691274a972b3165335d261cc4671335f5c67de9",
"rev": "c75037bbf9093a2acb617804ee46320d6d1fea5a",
"type": "github"
},
"original": {

View file

@ -6,7 +6,7 @@
...
}: {
environment.systemPackages = with pkgs; [
# xorg.xkill
# macchina
bat
bottom
cifs-utils
@ -14,64 +14,22 @@
exfatprogs
git
inputs.helix.packages.${pkgs.system}.default
# libthai
localsend
# macchina
neofetch
mesa
neofetch
ouch
pueue
ripgrep
rustdesk
screen
skim
tree
wezterm
# wget
# yt-dlp
# zellij
pueue
wget
zstd
];
programs.partition-manager.enable = lib.mkDefault true;
services.tailscale.enable = true;
services.tailscale.package = pkgs.tailscale;
services.resolved.enable = true;
services.openssh.enable = true;
services.flatpak.enable = lib.mkDefault true;
services.printing.enable = lib.mkDefault true;
services.smartd.enable = true;
services.btrfs.autoScrub.enable = lib.mkDefault true;
environment.variables = {
EDITOR = "hx";
VISUAL = "hx";
PAGER = "bat";
SKIM_DEFAULT_COMMAND = "rg --files";
};
environment.sessionVariables = {
EDITOR = "hx";
VISUAL = "hx";
PAGER = "bat";
SKIM_DEFAULT_COMMAND = "rg --files";
};
hardware.enableAllFirmware = true;
hardware.bluetooth.enable = lib.mkDefault true;
boot.loader.systemd-boot.enable = lib.mkDefault true;
boot.loader.efi.canTouchEfiVariables = lib.mkDefault true;
boot.loader.timeout = 1;
boot.supportedFilesystems = ["ntfs"];
networking.networkmanager.enable = true;
# TODO check why this???
# networking.firewall.enable = true;
services.xserver.enable = lib.mkDefault true;
services.xserver.xkb.layout = "us";
systemd.services.display-manager.restartIfChanged = false;
@ -83,6 +41,20 @@
gwenview
];
services.openssh.enable = true;
# services.flatpak.enable = lib.mkDefault true;
services.printing.enable = lib.mkDefault true;
networking.networkmanager.enable = true;
services.tailscale.enable = true;
services.tailscale.package = pkgs.tailscale;
services.resolved.enable = true;
networking.interfaces.tailscale0.useDHCP = false;
services.smartd.enable = true;
services.btrfs.autoScrub.enable = lib.mkDefault true;
hardware.pulseaudio.enable = lib.mkDefault false;
security.rtkit.enable = true;
services.pipewire = {
enable = lib.mkDefault true;
@ -91,7 +63,6 @@
pulse.enable = true;
wireplumber.enable = lib.mkDefault true;
};
hardware.pulseaudio.enable = lib.mkDefault false;
security.sudo-rs.enable = true;
# security.sudo-rs.extraRules = [{
@ -101,25 +72,6 @@
# groups = [ "wheel" ];
# }];
nix.settings = {
experimental-features = "nix-command flakes";
auto-optimise-store = true;
trusted-users = ["root" "@wheel"];
};
nixpkgs.config = {allowUnfree = true;};
systemd.extraConfig = ''
DefaultTimeoutStopSec=15s
'';
time.timeZone = "US/Pacific";
i18n.defaultLocale = "en_US.utf8";
i18n.supportedLocales = ["all"];
i18n.extraLocaleSettings = {
LC_CTYPE = "en_US.UTF-8";
LC_MESSAGES = "en_US.UTF-8";
LC_ALL = "en_US.UTF-8";
};
i18n.inputMethod = {
enabled = "fcitx5";
fcitx5.addons = with pkgs; [
@ -129,8 +81,49 @@
];
};
environment.variables = {
EDITOR = "hx";
VISUAL = "hx";
PAGER = "bat";
SKIM_DEFAULT_COMMAND = "rg --files";
};
environment.sessionVariables = {
EDITOR = "hx";
VISUAL = "hx";
PAGER = "bat";
SKIM_DEFAULT_COMMAND = "rg --files";
};
# time.timeZone = "US/Pacific";
services.automatic-timezoned.enable = lib.mkDefault true;
i18n.defaultLocale = "en_US.utf8";
i18n.supportedLocales = ["all"];
i18n.extraLocaleSettings = {
LC_CTYPE = "en_US.UTF-8";
LC_MESSAGES = "en_US.UTF-8";
LC_ALL = "en_US.UTF-8";
};
boot.loader.systemd-boot.enable = lib.mkDefault true;
boot.loader.efi.canTouchEfiVariables = lib.mkDefault true;
boot.loader.timeout = 1;
boot.supportedFilesystems = ["ntfs"];
systemd.extraConfig = ''
DefaultTimeoutStopSec=15s
'';
hardware.enableAllFirmware = true;
hardware.bluetooth.enable = lib.mkDefault true;
imports = [(modulesPath + "/installer/scan/not-detected.nix")];
nix.settings = {
experimental-features = "nix-command flakes";
auto-optimise-store = true;
trusted-users = ["root" "@wheel"];
};
nixpkgs.config = {allowUnfree = true;};
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
system.stateVersion = lib.mkDefault "23.05";
}

View file

@ -1,15 +1,9 @@
{pkgs, ...}: {
# THE FINALS audio borked
services.pipewire.enable = false;
hardware.pulseaudio.enable = true;
hardware.pulseaudio.support32Bit = true;
environment.systemPackages = with pkgs; [
# egl-wayland
# gpt4all-chat
# nvidia-vaapi-driver
# foldingathome
# mesa
gwe
openrgb
snapper
@ -19,6 +13,52 @@
boot.kernel.sysctl."net.ipv4.ip_forward" = "1";
boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = "1";
# THE FINALS audio borked
services.pipewire.enable = false;
hardware.pulseaudio.enable = true;
hardware.pulseaudio.support32Bit = true;
services.pipewire.extraConfig = {
pipewire."99-low-latency" = {
context.properties = {
default.allowed-rates = [44100 48000 96000];
default.clock.rate = 192000;
default.clock.quantum = 32;
default.clock.min-quantum = 32;
default.clock.max-quantum = 32;
};
context.modules = [
{
name = "libpipewire-module-rt";
args = {
nice.level = -12;
rt.prio = 89;
rt.time.soft = 200000;
rt.time.hard = 200000;
};
flags = ["ifexists nofail"];
}
];
};
pipewire-pulse."99-low-latency" = {
context.modules = [
{
name = "libpipewire-module-protocol-pulse";
args = {
pulse.min.req = "32/192000";
pulse.default.req = "32/192000";
pulse.max.req = "32/192000";
pulse.min.quantum = "32/192000";
pulse.max.quantum = "32/192000";
};
}
];
stream.properties = {
node.latency = "32/192000";
resample.quality = 1;
};
};
};
# services.foldingathome = {
# enable = true;
# team = 223518;
@ -26,14 +66,54 @@
# extraArgs = ["--passkey=76ba03d55acf116776ba03d55acf1167"];
# };
environment.sessionVariables = {
# wayland chromium workaround
NIXOS_OZONE_WL = "1";
# environment.sessionVariables = {
# # wayland chromium workaround
# NIXOS_OZONE_WL = "1";
# firefox nvidia-vaapi-driver
# MOZ_DISABLE_RDD_SANDBOX = "1";
# LIBVA_DRIVER_NAME = "nvidia";
# # firefox nvidia-vaapi-driver
# # MOZ_DISABLE_RDD_SANDBOX = "1";
# # LIBVA_DRIVER_NAME = "nvidia";
# };
hardware.opengl = {
enable = true;
driSupport = true;
driSupport32Bit = true;
};
hardware.nvidia = {
modesetting.enable = true;
powerManagement.enable = true;
# options: production, beta, vulkan_beta, latest
# package = pkgs.linuxPackages_latest.nvidiaPackages.latest;
package = pkgs.linuxPackages_zen.nvidiaPackages.latest;
# open = true;
};
# enable core and mem freq sliders for nvidia
services.xserver.deviceSection = ''
Option "Coolbits" "8"
'';
systemd.services.nvpl = {
description = "Increase GPU power limit to 400w";
script = "/run/current-system/sw/bin/nvidia-smi -pl=400";
wantedBy = ["multi-user.target"];
};
services.udev.packages = [pkgs.openrgb];
services.udev.extraRules = ''
KERNEL=="hidraw*", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a3c5", MODE="0666"
'';
services.snapper.configs = {
home = {
SUBVOLUME = "/home";
ALLOW_USERS = ["tao"];
TIMELINE_CREATE = true;
TIMELINE_CLEANUP = true;
TIMELINE_LIMIT_HOURLY = "5";
TIMELINE_LIMIT_DAILY = "7";
};
};
services.snapper.snapshotInterval = "*:0/5";
fileSystems."/home" = {
device = "/dev/disk/by-uuid/eb9fcce2-e9f3-438a-b5ce-8f72f32f0e09";
@ -71,18 +151,6 @@
};
swapDevices = [{device = "/dev/disk/by-uuid/ca0ed3d7-8758-4ac7-b016-8b4cd9608ded";}];
services.snapper.configs = {
home = {
SUBVOLUME = "/home";
ALLOW_USERS = ["tao"];
TIMELINE_CREATE = true;
TIMELINE_CLEANUP = true;
TIMELINE_LIMIT_HOURLY = "5";
TIMELINE_LIMIT_DAILY = "7";
};
};
services.snapper.snapshotInterval = "*:0/5";
# boot.kernelPackages = pkgs.linuxPackages_latest;
boot.kernelPackages = pkgs.linuxPackages_zen;
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod"];
@ -91,41 +159,8 @@
# boot.extraModulePackages = with config.boot.kernelPackages; [ zenpower ];
# boot.blacklistedKernelModules = with config.boot.kernelPackages; [ k10temp ];
hardware.opengl = {
enable = true;
driSupport = true;
driSupport32Bit = true;
};
hardware.nvidia = {
modesetting.enable = true;
powerManagement.enable = true;
# options: production, beta, vulkan_beta, latest
# package = pkgs.linuxPackages_latest.nvidiaPackages.latest;
package = pkgs.linuxPackages_zen.nvidiaPackages.latest;
# open = true;
};
# enable core and mem freq sliders for nvidia
services.xserver.deviceSection = ''
Option "Coolbits" "8"
'';
systemd.services.nvpl = {
description = "Increase GPU power limit to 400w";
script = "/run/current-system/sw/bin/nvidia-smi -pl=400";
wantedBy = ["multi-user.target"];
};
services.udev.packages = [pkgs.openrgb];
services.udev.extraRules = ''
KERNEL=="hidraw*", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a3c5", MODE="0666"
'';
# windows can suck my ass
time.hardwareClockInLocalTime = true;
# services.xserver.displayManager = {
# autoLogin.enable = true;
# autoLogin.user = "tao";
# };
networking.hostName = "NOcomputer";
}

View file

@ -7,6 +7,33 @@
fw-ectool
];
powerManagement.powertop.enable = true;
services.fwupd.enable = true;
services.fprintd.enable = true;
hardware.sensor.iio.enable = true;
services.xserver.displayManager.defaultSession = "plasma";
services.xserver.displayManager.sddm.wayland.enable = true;
# systemd.user.services.backlight = {
# # description = "";
# ExecStart = "${pkgs.prescurve}/bin/prescurve_backlight";
# Restart = "on-failure";
# wantedBy = [ "default.target" ];
# };
# hardware.sane = {
# enable = true;
# extraBackends = [ pkgs.epkowa ];
# };
services.udev.extraRules = ''
# Ethernet expansion card
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0bda", ATTR{idProduct}=="8156", ATTR{power/autosuspend}="20"
ACTION=="add", SUBSYSTEM=="backlight", RUN+="${pkgs.coreutils}/bin/chgrp video /sys/class/backlight/%k/brightness"
ACTION=="add", SUBSYSTEM=="backlight", RUN+="${pkgs.coreutils}/bin/chmod g+w /sys/class/backlight/%k/brightness"
'';
fileSystems."/home" = {
device = "/dev/disk/by-uuid/e4244a97-9b48-49f0-8093-782163045020";
fsType = "btrfs";
@ -22,38 +49,8 @@
fsType = "btrfs";
options = ["subvol=nixos" "noatime" "compress-force=zstd:3" "discard=async"];
};
swapDevices = [{device = "/dev/disk/by-uuid/ca55d0ea-c0db-44c5-af3a-e38eec803929";}];
# services.fstrim.enable = true;
services.fprintd.enable = true;
services.fwupd.enable = true;
powerManagement.powertop.enable = true;
hardware.sensor.iio.enable = true;
# systemd.user.services.backlight = {
# # description = "";
# ExecStart = "${pkgs.prescurve}/bin/prescurve_backlight";
# Restart = "on-failure";
# wantedBy = [ "default.target" ];
# };
services.xserver.displayManager.defaultSession = "plasma";
services.xserver.displayManager.sddm.wayland.enable = true;
# hardware.sane = {
# enable = true;
# extraBackends = [ pkgs.epkowa ];
# };
services.udev.extraRules = ''
# Ethernet expansion card
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0bda", ATTR{idProduct}=="8156", ATTR{power/autosuspend}="20"
ACTION=="add", SUBSYSTEM=="backlight", RUN+="${pkgs.coreutils}/bin/chgrp video /sys/class/backlight/%k/brightness"
ACTION=="add", SUBSYSTEM=="backlight", RUN+="${pkgs.coreutils}/bin/chmod g+w /sys/class/backlight/%k/brightness"
'';
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.initrd.availableKernelModules = [
"nvme"

View file

@ -1,33 +0,0 @@
{pkgs, ...}: {
users.users.tao.packages = with pkgs; [
libsForQt5.kdeconnect-kde
];
# programs.nushell.enable = true;
# environment.shells = with pkgs; [ nushell ];
# services.expressvpn.enable = true;
# services.syncthing = {
# enable = true;
# user = "tao";
# dataDir = "/home/tao/Sync";
# configDir = "/home/tao/.config/syncthing";
# };
fonts.fonts = with pkgs; [
(nerdfonts.override {fonts = ["FiraCode"];})
noto-fonts-cjk
noto-fonts-emoji
];
users.users.tao = {
isNormalUser = true;
extraGroups = ["wheel" "dialout"];
# shell = pkgs.nushell;
};
# i18n.inputMethod = {
# enabled = "fcitx5";
# fcitx5.addons = with pkgs; [ fcitx5-mozc fcitx5-chewing fcitx5-chinese-addons fcitx5-rime ];
# };
}

View file

@ -5,25 +5,16 @@
...
}: {
users.users.tao.packages = with pkgs; [
ffmpeg
firefox
yt-dlp
# birdtray
# cider
# enchant
# expressvpn
# fractal
# gh
# joshuto
# libftdi
# libusb
# mendeley
# nuspell
# ocs-url
# oculante
# ollama
oculante
# onefetch
# partition-manager
# slack
# tectonic
# texlab
@ -39,12 +30,8 @@
calibre
darktable
deluge
discord
# (discord.override {
# withOpenASAR = true;
# withVencord = true;
# })
# vesktop
ffmpeg
firefox
jellyfin-media-player
jellyfin-mpv-shim
keepassxc
@ -74,12 +61,13 @@
typst-lsp
virt-manager
wezterm
yt-dlp
zathura
zoom-us
zoxide
discord
];
# programs.adb.enable = true;
# programs.mosh.enable = true;
environment.shells = with pkgs; [nushell];
# virt

View file

@ -2,7 +2,7 @@ local wezterm = require 'wezterm';
local config = {
font = wezterm.font 'FiraCode Nerd Font',
color_scheme = 'Dracula',
warn_about_missing_glyphs = true,
warn_about_missing_glyphs = false,
check_for_updates = false,
hide_tab_bar_if_only_one_tab = true,
}