alejandra?

This commit is contained in:
Tao Tien 2024-02-24 02:30:17 -08:00
parent 63baacc410
commit 21d7561a56
17 changed files with 296 additions and 204 deletions

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
cosmic-term cosmic-term
fontconfig fontconfig

View file

@ -1,4 +1,8 @@
{ inputs, pkgs, ... }: { {
inputs,
pkgs,
...
}: {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
# freecad # freecad
# pijul # pijul
@ -33,6 +37,7 @@
# nix # nix
nil nil
nixpkgs-fmt nixpkgs-fmt
alejandra
# python # python
pypy3 pypy3

View file

@ -1,5 +1,5 @@
# { pkgs, aagl, ... }: { # { pkgs, aagl, ... }: {
{ pkgs, ... }: { {pkgs, ...}: {
# imports = [ aagl.nixosModules.default ]; # imports = [ aagl.nixosModules.default ];
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
@ -24,17 +24,20 @@
# nix.settings = aagl.nixConfig; # nix.settings = aagl.nixConfig;
# programs.honkers-railway-launcher.enable = true; # programs.honkers-railway-launcher.enable = true;
users = { groups.game = { }; }; users = {groups.game = {};};
security.pam.loginLimits = [ security.pam.loginLimits = [
{ domain = "@game"; type = "-"; item = "nice"; value = -20; } {
domain = "@game";
type = "-";
item = "nice";
value = -20;
}
]; ];
security.rtkit.enable = true; security.rtkit.enable = true;
environment.etc = environment.etc = let
let json = pkgs.formats.json {};
json = pkgs.formats.json { }; in {
in
{
"pipewire/pipewire.conf.d/92-low-latency.conf".source = json.generate "92-low-latency.conf" { "pipewire/pipewire.conf.d/92-low-latency.conf".source = json.generate "92-low-latency.conf" {
context.properties = { context.properties = {
# default.allowed-rates = [] # default.allowed-rates = []

View file

@ -1,43 +1,79 @@
{ ... }: { {...}: {
services.rpcbind.enable = true; services.rpcbind.enable = true;
systemd.mounts = systemd.mounts = let
let
opts = { opts = {
type = "cifs"; type = "cifs";
mountConfig = { Options = "users,noauto,credentials=/etc/nixos/smb-secrets,noatime,uid=1000,gid=100"; }; mountConfig = {Options = "users,noauto,credentials=/etc/nixos/smb-secrets,noatime,uid=1000,gid=100";};
}; };
in in [
[ (opts
(opts // { what = "//100.97.47.81/anime"; where = "/mnt/uwuraid/anime"; }) // {
(opts // { what = "//100.97.47.81/appdata"; where = "/mnt/uwuraid/appdata"; }) what = "//100.97.47.81/anime";
(opts // { what = "//100.97.47.81/backup"; where = "/mnt/uwuraid/backup"; }) where = "/mnt/uwuraid/anime";
(opts // { what = "//100.97.47.81/everything"; where = "/mnt/uwuraid/everything"; }) })
(opts // { what = "//100.97.47.81/isos"; where = "/mnt/uwuraid/isos"; }) (opts
// {
what = "//100.97.47.81/appdata";
where = "/mnt/uwuraid/appdata";
})
(opts
// {
what = "//100.97.47.81/backup";
where = "/mnt/uwuraid/backup";
})
(opts
// {
what = "//100.97.47.81/everything";
where = "/mnt/uwuraid/everything";
})
(opts
// {
what = "//100.97.47.81/isos";
where = "/mnt/uwuraid/isos";
})
# (opts // { what = "//100.97.47.81/jellyfin"; where = "/mnt/uwuraid/jellyfin"; }) # (opts // { what = "//100.97.47.81/jellyfin"; where = "/mnt/uwuraid/jellyfin"; })
(opts // { what = "//100.97.47.81/movies"; where = "/mnt/uwuraid/movies"; }) (opts
(opts // { what = "//100.97.47.81/music"; where = "/mnt/uwuraid/music"; }) // {
(opts // { what = "//100.97.47.81/photos"; where = "/mnt/uwuraid/photos"; }) what = "//100.97.47.81/movies";
(opts // { what = "//100.97.47.81/syncthing"; where = "/mnt/uwuraid/syncthing"; }) where = "/mnt/uwuraid/movies";
(opts // { what = "//100.97.47.81/television"; where = "/mnt/uwuraid/television"; }) })
(opts
// {
what = "//100.97.47.81/music";
where = "/mnt/uwuraid/music";
})
(opts
// {
what = "//100.97.47.81/photos";
where = "/mnt/uwuraid/photos";
})
(opts
// {
what = "//100.97.47.81/syncthing";
where = "/mnt/uwuraid/syncthing";
})
(opts
// {
what = "//100.97.47.81/television";
where = "/mnt/uwuraid/television";
})
]; ];
systemd.automounts = systemd.automounts = let
let
opts = { opts = {
wantedBy = [ "multi-user.target" ]; wantedBy = ["multi-user.target"];
automountConfig = { TimeoutIdleSec = "60"; }; automountConfig = {TimeoutIdleSec = "60";};
}; };
in in [
[ (opts // {where = "/mnt/uwuraid/anime";})
(opts // { where = "/mnt/uwuraid/anime"; }) (opts // {where = "/mnt/uwuraid/appdata";})
(opts // { where = "/mnt/uwuraid/appdata"; }) (opts // {where = "/mnt/uwuraid/backup";})
(opts // { where = "/mnt/uwuraid/backup"; }) (opts // {where = "/mnt/uwuraid/everything";})
(opts // { where = "/mnt/uwuraid/everything"; }) (opts // {where = "/mnt/uwuraid/isos";})
(opts // { where = "/mnt/uwuraid/isos"; })
# (opts // { where = "/mnt/uwuraid/jellyfin"; }) # (opts // { where = "/mnt/uwuraid/jellyfin"; })
(opts // { where = "/mnt/uwuraid/movies"; }) (opts // {where = "/mnt/uwuraid/movies";})
(opts // { where = "/mnt/uwuraid/music"; }) (opts // {where = "/mnt/uwuraid/music";})
(opts // { where = "/mnt/uwuraid/photos"; }) (opts // {where = "/mnt/uwuraid/photos";})
(opts // { where = "/mnt/uwuraid/syncthing"; }) (opts // {where = "/mnt/uwuraid/syncthing";})
(opts // { where = "/mnt/uwuraid/television"; }) (opts // {where = "/mnt/uwuraid/television";})
]; ];
} }

View file

@ -23,17 +23,25 @@
nixConfig = { nixConfig = {
# extra-substituters = [ "https://hyprland.cachix.org" "https://ezkea.cachix.org" ]; # extra-substituters = [ "https://hyprland.cachix.org" "https://ezkea.cachix.org" ];
# extra-trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" "ezkea.cachix.org-1:ioBmUbJTZIKsHmWWXPe1FSFbeVe+afhfgqgTSNd34eI=" ]; # extra-trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" "ezkea.cachix.org-1:ioBmUbJTZIKsHmWWXPe1FSFbeVe+afhfgqgTSNd34eI=" ];
extra-substituters = [ "https://hyprland.cachix.org" ]; extra-substituters = ["https://hyprland.cachix.org"];
extra-trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ]; extra-trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
}; };
# outputs = { self, nixpkgs, nixos-hardware, nixos-raspberrypi, home-manager, helix, aagl, ... }@inputs: # outputs = { self, nixpkgs, nixos-hardware, nixos-raspberrypi, home-manager, helix, aagl, ... }@inputs:
outputs = { self, nixpkgs, nixos-hardware, nixos-raspberrypi, home-manager, helix, jujutsu, ... }@inputs: outputs = {
{ self,
nixpkgs,
nixos-hardware,
nixos-raspberrypi,
home-manager,
helix,
jujutsu,
...
} @ inputs: {
nixosConfigurations = { nixosConfigurations = {
NOcomputer = nixpkgs.lib.nixosSystem { NOcomputer = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = { inherit inputs; }; specialArgs = {inherit inputs;};
modules = [ modules = [
nixos-hardware.nixosModules.common-cpu-amd nixos-hardware.nixosModules.common-cpu-amd
nixos-hardware.nixosModules.common-gpu-nvidia-nonprime nixos-hardware.nixosModules.common-gpu-nvidia-nonprime
@ -49,7 +57,7 @@
}; };
NOlaptop = nixpkgs.lib.nixosSystem { NOlaptop = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = { inherit inputs; }; specialArgs = {inherit inputs;};
modules = [ modules = [
nixos-hardware.nixosModules.common-cpu-intel nixos-hardware.nixosModules.common-cpu-intel
# inputs.nixos-hardware.nixosModules.framework-12th-gen-intel # inputs.nixos-hardware.nixosModules.framework-12th-gen-intel

View file

@ -1,4 +1,10 @@
{ inputs, lib, pkgs, modulesPath, ... }: { {
inputs,
lib,
pkgs,
modulesPath,
...
}: {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
# xorg.xkill # xorg.xkill
bat bat
@ -60,7 +66,7 @@
boot.loader.systemd-boot.enable = lib.mkDefault true; boot.loader.systemd-boot.enable = lib.mkDefault true;
boot.loader.efi.canTouchEfiVariables = lib.mkDefault true; boot.loader.efi.canTouchEfiVariables = lib.mkDefault true;
boot.loader.timeout = 1; boot.loader.timeout = 1;
boot.supportedFilesystems = [ "ntfs" ]; boot.supportedFilesystems = ["ntfs"];
networking.networkmanager = { networking.networkmanager = {
enable = true; enable = true;
@ -96,9 +102,9 @@
nix.settings = { nix.settings = {
experimental-features = "nix-command flakes"; experimental-features = "nix-command flakes";
auto-optimise-store = true; auto-optimise-store = true;
trusted-users = [ "root" "@wheel" ]; trusted-users = ["root" "@wheel"];
}; };
nixpkgs.config = { allowUnfree = true; }; nixpkgs.config = {allowUnfree = true;};
systemd.extraConfig = '' systemd.extraConfig = ''
DefaultTimeoutStopSec=15s DefaultTimeoutStopSec=15s
@ -106,7 +112,7 @@
time.timeZone = "US/Pacific"; time.timeZone = "US/Pacific";
i18n.defaultLocale = "en_US.utf8"; i18n.defaultLocale = "en_US.utf8";
i18n.supportedLocales = [ "all" ]; i18n.supportedLocales = ["all"];
i18n.extraLocaleSettings = { i18n.extraLocaleSettings = {
LC_CTYPE = "en_US.UTF-8"; LC_CTYPE = "en_US.UTF-8";
LC_MESSAGES = "en_US.UTF-8"; LC_MESSAGES = "en_US.UTF-8";
@ -121,7 +127,7 @@
]; ];
}; };
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; imports = [(modulesPath + "/installer/scan/not-detected.nix")];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
system.stateVersion = lib.mkDefault "23.05"; system.stateVersion = lib.mkDefault "23.05";

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
libraspberrypi libraspberrypi
raspberrypi-eeprom raspberrypi-eeprom
@ -7,7 +7,7 @@
fileSystems."/" = { fileSystems."/" = {
device = "/dev/disk/by-label/NIXOS_SD"; device = "/dev/disk/by-label/NIXOS_SD";
fsType = "ext4"; fsType = "ext4";
options = [ "noatime" ]; options = ["noatime"];
# autoResize = true; # autoResize = true;
}; };
programs.partition-manager.enable = false; programs.partition-manager.enable = false;
@ -16,7 +16,7 @@
services.btrfs.autoScrub.enable = false; services.btrfs.autoScrub.enable = false;
boot = { boot = {
initrd.availableKernelModules = [ "xhci_pci" "usbhid" "usb_storage" "vc4" "pcie_brcmstb" "reset-raspberrypi" ]; initrd.availableKernelModules = ["xhci_pci" "usbhid" "usb_storage" "vc4" "pcie_brcmstb" "reset-raspberrypi"];
# initrd.availableKernelModules = [ "xhci_pci" ]; # initrd.availableKernelModules = [ "xhci_pci" ];
kernelParams = [ kernelParams = [
"8250.nr_uarts=1" "8250.nr_uarts=1"

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
arduino arduino
firefox firefox
@ -9,7 +9,7 @@
networking.hostName = "NObcer"; networking.hostName = "NObcer";
users.users.ssrov = { users.users.ssrov = {
isNormalUser = true; isNormalUser = true;
extraGroups = [ "dialout" ]; extraGroups = ["dialout"];
hashedPassword = ""; hashedPassword = "";
}; };
} }

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
services.xserver.displayManager = { services.xserver.displayManager = {
autoLogin.enable = true; autoLogin.enable = true;
autoLogin.user = "tao"; autoLogin.user = "tao";
@ -27,17 +27,17 @@
fileSystems."/home" = { fileSystems."/home" = {
device = "/dev/disk/by-uuid/eb9fcce2-e9f3-438a-b5ce-8f72f32f0e09"; device = "/dev/disk/by-uuid/eb9fcce2-e9f3-438a-b5ce-8f72f32f0e09";
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=home_snaps/0/snapshot" "noatime" "compress-force=zstd:3" "discard=async" ]; options = ["subvol=home_snaps/0/snapshot" "noatime" "compress-force=zstd:3" "discard=async"];
}; };
fileSystems."/home/.snapshots" = { fileSystems."/home/.snapshots" = {
device = "/dev/disk/by-uuid/eb9fcce2-e9f3-438a-b5ce-8f72f32f0e09"; device = "/dev/disk/by-uuid/eb9fcce2-e9f3-438a-b5ce-8f72f32f0e09";
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=home_snaps/" "noatime" "compress-force=zstd:3" "discard=async" ]; options = ["subvol=home_snaps/" "noatime" "compress-force=zstd:3" "discard=async"];
}; };
fileSystems."/home/tao/Games" = { fileSystems."/home/tao/Games" = {
device = "/dev/disk/by-uuid/eb9fcce2-e9f3-438a-b5ce-8f72f32f0e09"; device = "/dev/disk/by-uuid/eb9fcce2-e9f3-438a-b5ce-8f72f32f0e09";
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=games" "nosuid" "nodev" "noatime" "compress-force=zstd:3" "users" "rw" "exec" "discard=async" ]; options = ["subvol=games" "nosuid" "nodev" "noatime" "compress-force=zstd:3" "users" "rw" "exec" "discard=async"];
}; };
fileSystems."/boot" = { fileSystems."/boot" = {
device = "/dev/disk/by-uuid/2B28-151D"; device = "/dev/disk/by-uuid/2B28-151D";
@ -46,25 +46,24 @@
fileSystems."/" = { fileSystems."/" = {
device = "/dev/disk/by-uuid/eb9fcce2-e9f3-438a-b5ce-8f72f32f0e09"; device = "/dev/disk/by-uuid/eb9fcce2-e9f3-438a-b5ce-8f72f32f0e09";
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=nixos" "noatime" "compress-force=zstd:3" "discard=async" ]; options = ["subvol=nixos" "noatime" "compress-force=zstd:3" "discard=async"];
}; };
fileSystems."/var" = { fileSystems."/var" = {
device = "/dev/disk/by-uuid/eb9fcce2-e9f3-438a-b5ce-8f72f32f0e09"; device = "/dev/disk/by-uuid/eb9fcce2-e9f3-438a-b5ce-8f72f32f0e09";
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=nixos/var" "noatime" "compress-force=zstd:3" "discard=async" ]; options = ["subvol=nixos/var" "noatime" "compress-force=zstd:3" "discard=async"];
}; };
fileSystems."/tmp" = { fileSystems."/tmp" = {
device = "/dev/disk/by-uuid/eb9fcce2-e9f3-438a-b5ce-8f72f32f0e09"; device = "/dev/disk/by-uuid/eb9fcce2-e9f3-438a-b5ce-8f72f32f0e09";
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=nixos/tmp" "discard=async" ]; options = ["subvol=nixos/tmp" "discard=async"];
}; };
swapDevices = [{ device = "/dev/disk/by-uuid/ca0ed3d7-8758-4ac7-b016-8b4cd9608ded"; }]; swapDevices = [{device = "/dev/disk/by-uuid/ca0ed3d7-8758-4ac7-b016-8b4cd9608ded";}];
services.snapper.configs = services.snapper.configs = {
{
home = { home = {
SUBVOLUME = "/home"; SUBVOLUME = "/home";
ALLOW_USERS = [ "tao" ]; ALLOW_USERS = ["tao"];
TIMELINE_CREATE = true; TIMELINE_CREATE = true;
TIMELINE_CLEANUP = true; TIMELINE_CLEANUP = true;
TIMELINE_LIMIT_HOURLY = "5"; TIMELINE_LIMIT_HOURLY = "5";
@ -83,9 +82,9 @@
# boot.kernelPackages = pkgs.linuxPackages_latest; # boot.kernelPackages = pkgs.linuxPackages_latest;
boot.kernelPackages = pkgs.linuxPackages_zen; boot.kernelPackages = pkgs.linuxPackages_zen;
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ]; boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod"];
boot.kernelModules = [ "i2c-dev" "kvm-amd" ]; boot.kernelModules = ["i2c-dev" "kvm-amd"];
boot.kernelParams = [ "nvidia-drm.modeset=1" ]; boot.kernelParams = ["nvidia-drm.modeset=1"];
# boot.extraModulePackages = with config.boot.kernelPackages; [ zenpower ]; # boot.extraModulePackages = with config.boot.kernelPackages; [ zenpower ];
# boot.blacklistedKernelModules = with config.boot.kernelPackages; [ k10temp ]; # boot.blacklistedKernelModules = with config.boot.kernelPackages; [ k10temp ];
boot.kernel.sysctl."net.ipv4.ip_forward" = "1"; boot.kernel.sysctl."net.ipv4.ip_forward" = "1";
@ -109,10 +108,10 @@
systemd.services.nvpl = { systemd.services.nvpl = {
description = "Increase GPU power limit to 400w"; description = "Increase GPU power limit to 400w";
script = "/run/current-system/sw/bin/nvidia-smi -pl=400"; script = "/run/current-system/sw/bin/nvidia-smi -pl=400";
wantedBy = [ "multi-user.target" ]; wantedBy = ["multi-user.target"];
}; };
services.udev.packages = [ pkgs.openrgb ]; services.udev.packages = [pkgs.openrgb];
services.udev.extraRules = '' services.udev.extraRules = ''
KERNEL=="hidraw*", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a3c5", MODE="0666" KERNEL=="hidraw*", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a3c5", MODE="0666"
''; '';

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
# prescurve # prescurve
# libsForQt5.skanpage # libsForQt5.skanpage
@ -10,20 +10,20 @@
fileSystems."/home" = { fileSystems."/home" = {
device = "/dev/disk/by-uuid/e4244a97-9b48-49f0-8093-782163045020"; device = "/dev/disk/by-uuid/e4244a97-9b48-49f0-8093-782163045020";
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=home-snaps/0/snapshot" "noatime" "compress-force=zstd:3" "discard=async" ]; options = ["subvol=home-snaps/0/snapshot" "noatime" "compress-force=zstd:3" "discard=async"];
}; };
fileSystems."/home/tao/Games" = { fileSystems."/home/tao/Games" = {
device = "/dev/disk/by-uuid/e4244a97-9b48-49f0-8093-782163045020"; device = "/dev/disk/by-uuid/e4244a97-9b48-49f0-8093-782163045020";
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=games" "nosuid" "nodev" "noatime" "compress-force=zstd:3" "users" "rw" "exec" "discard=async" ]; options = ["subvol=games" "nosuid" "nodev" "noatime" "compress-force=zstd:3" "users" "rw" "exec" "discard=async"];
}; };
fileSystems."/" = { fileSystems."/" = {
device = "/dev/disk/by-uuid/e4244a97-9b48-49f0-8093-782163045020"; device = "/dev/disk/by-uuid/e4244a97-9b48-49f0-8093-782163045020";
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=nixos" "noatime" "compress-force=zstd:3" "discard=async" ]; options = ["subvol=nixos" "noatime" "compress-force=zstd:3" "discard=async"];
}; };
swapDevices = [{ device = "/dev/disk/by-uuid/ca55d0ea-c0db-44c5-af3a-e38eec803929"; }]; swapDevices = [{device = "/dev/disk/by-uuid/ca55d0ea-c0db-44c5-af3a-e38eec803929";}];
services.fprintd.enable = true; services.fprintd.enable = true;
services.fwupd.enable = true; services.fwupd.enable = true;
@ -45,7 +45,6 @@
# wantedBy = [ "default.target" ]; # wantedBy = [ "default.target" ];
# }; # };
# SUBSYSTEM=="backlight", GROUP="video", MODE="0664" # SUBSYSTEM=="backlight", GROUP="video", MODE="0664"
services.udev.extraRules = '' services.udev.extraRules = ''
# Ethernet expansion card # Ethernet expansion card
@ -69,9 +68,9 @@
"nvme.noacpi=1" "nvme.noacpi=1"
"i915.enable_psr=1" "i915.enable_psr=1"
]; ];
boot.blacklistedKernelModules = [ "cros-usbpd-charger" ]; boot.blacklistedKernelModules = ["cros-usbpd-charger"];
boot.extraModprobeConfig = ''options snd-hda-intel model=dell-headset-multi''; boot.extraModprobeConfig = ''options snd-hda-intel model=dell-headset-multi'';
boot.kernelModules = [ "kvm-intel" ]; boot.kernelModules = ["kvm-intel"];
powerManagement.cpuFreqGovernor = "powersave"; powerManagement.cpuFreqGovernor = "powersave";
systemd.sleep.extraConfig = "HibernateDelaySec=180m"; systemd.sleep.extraConfig = "HibernateDelaySec=180m";
# boot.kernel.sysctl."net.ipv4.ip_forward" = "1"; # boot.kernel.sysctl."net.ipv4.ip_forward" = "1";

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
bat bat
bottom bottom
@ -32,4 +32,4 @@
VISUAL = "hx"; VISUAL = "hx";
SKIM_DEFAULT_COMMAND = "rg --files"; SKIM_DEFAULT_COMMAND = "rg --files";
}; };
}

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
users.users.tao.packages = with pkgs; [ users.users.tao.packages = with pkgs; [
libsForQt5.kdeconnect-kde libsForQt5.kdeconnect-kde
]; ];
@ -16,14 +15,14 @@
# }; # };
fonts.fonts = with pkgs; [ fonts.fonts = with pkgs; [
(nerdfonts.override { fonts = [ "FiraCode" ]; }) (nerdfonts.override {fonts = ["FiraCode"];})
noto-fonts-cjk noto-fonts-cjk
noto-fonts-emoji noto-fonts-emoji
]; ];
users.users.tao = { users.users.tao = {
isNormalUser = true; isNormalUser = true;
extraGroups = [ "wheel" "dialout" ]; extraGroups = ["wheel" "dialout"];
# shell = pkgs.nushell; # shell = pkgs.nushell;
}; };

View file

@ -1,4 +1,9 @@
{ inputs, config, pkgs, ... }: { {
inputs,
config,
pkgs,
...
}: {
users.users.tao.packages = with pkgs; [ users.users.tao.packages = with pkgs; [
# birdtray # birdtray
# cider # cider
@ -65,7 +70,7 @@
]; ];
# programs.adb.enable = true; # programs.adb.enable = true;
programs.mosh.enable = true; programs.mosh.enable = true;
environment.shells = with pkgs; [ nushell ]; environment.shells = with pkgs; [nushell];
services.udev.extraRules = '' services.udev.extraRules = ''
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl" KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl"
@ -94,14 +99,14 @@
''; '';
fonts.packages = with pkgs; [ fonts.packages = with pkgs; [
(nerdfonts.override { fonts = [ "FiraCode" ]; }) (nerdfonts.override {fonts = ["FiraCode"];})
noto-fonts-cjk noto-fonts-cjk
noto-fonts-color-emoji noto-fonts-color-emoji
]; ];
users.users.tao = { users.users.tao = {
isNormalUser = true; isNormalUser = true;
extraGroups = [ "video" "wheel" "libvirtd" "dialout" "game" ]; extraGroups = ["video" "wheel" "libvirtd" "dialout" "game"];
shell = pkgs.nushell; shell = pkgs.nushell;
}; };
@ -114,5 +119,5 @@
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.verbose = true; home-manager.verbose = true;
home-manager.backupFileExtension = ".hm-bak"; home-manager.backupFileExtension = ".hm-bak";
home-manager.users.tao = (import ./tao/home.nix { inherit inputs pkgs; }); home-manager.users.tao = import ./tao/home.nix {inherit inputs pkgs;};
} }

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
home.file.".cargo/config.toml".text = '' home.file.".cargo/config.toml".text = ''
[alias] [alias]
rr = "run --release" rr = "run --release"

View file

@ -1,4 +1,8 @@
{ inputs, pkgs, ... }: { {
inputs,
pkgs,
...
}: {
programs.helix = { programs.helix = {
settings = { settings = {
theme = "dracula"; theme = "dracula";
@ -16,9 +20,9 @@
select = "underline"; select = "underline";
}; };
statusline = { statusline = {
left = [ "mode" "spinner" "spacer" "version-control" ]; left = ["mode" "spinner" "spacer" "version-control"];
center = [ "file-name" "file-modification-indicator" ]; center = ["file-name" "file-modification-indicator"];
right = [ "diagnostics" "primary-selection-length" "total-line-numbers" "selections" "position" ]; right = ["diagnostics" "primary-selection-length" "total-line-numbers" "selections" "position"];
}; };
lsp = { lsp = {
display-messages = true; display-messages = true;
@ -42,15 +46,42 @@
auto-format = true; auto-format = true;
formatter = { formatter = {
command = "clang-format"; command = "clang-format";
args = [ "--style=file:/home/tao/Templates/clang-format" ]; args = ["--style=file:/home/tao/Templates/clang-format"];
};
indent = {
tab-width = 8;
unit = "\t";
}; };
indent = { tab-width = 8; unit = "\t"; };
} }
# { name = "css"; comment = "/*"; } # { name = "css"; comment = "/*"; }
{ name = "html"; auto-format = false; indent = { tab-width = 4; unit = "\t"; }; } {
{ name = "java"; auto-format = true; indent = { tab-width = 4; unit = "\t"; }; } name = "html";
{ name = "nix"; auto-format = true; formatter = { command = "nixpkgs-fmt"; }; } auto-format = false;
{ name = "typst"; indent = { tab-width = 4; unit = " "; }; } indent = {
tab-width = 4;
unit = "\t";
};
}
{
name = "java";
auto-format = true;
indent = {
tab-width = 4;
unit = "\t";
};
}
{
name = "nix";
auto-format = true;
formatter = {command = "alejandra";};
}
{
name = "typst";
indent = {
tab-width = 4;
unit = " ";
};
}
# { name = "rust"; } # { name = "rust"; }
]; ];
language-servers = { language-servers = {

View file

@ -1,6 +1,10 @@
{ pkgs, inputs, ... }: { {
pkgs,
inputs,
...
}: {
imports = [ imports = [
(import ./helix.nix { inherit pkgs inputs; }) (import ./helix.nix {inherit pkgs inputs;})
# ./hyprland.nix # ./hyprland.nix
./cargo.nix ./cargo.nix
]; ];
@ -13,8 +17,7 @@
name = "Tao Tien"; name = "Tao Tien";
email = "29749622+taotien@users.noreply.github.com"; email = "29749622+taotien@users.noreply.github.com";
}; };
ui = ui = {
{
default-command = "log"; default-command = "log";
}; };
}; };
@ -46,7 +49,7 @@
zellij = { zellij = {
enable = true; enable = true;
settings = { }; settings = {};
}; };
zoxide = { zoxide = {

View file

@ -1,11 +1,9 @@
{ pkgs, ... }: {pkgs, ...}: {
{
users.users.vy.packages = with pkgs; [ users.users.vy.packages = with pkgs; [
]; ];
users.users.vy = { users.users.vy = {
isNormalUser = true; isNormalUser = true;
extraGroups = [ "scanner" "lp" ]; extraGroups = ["scanner" "lp"];
}; };
} }