stufk;
This commit is contained in:
parent
51409b72dc
commit
e8366cc6cc
9 changed files with 677 additions and 662 deletions
188
extras/dev.nix
188
extras/dev.nix
|
|
@ -1,105 +1,105 @@
|
|||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
# act
|
||||
# asm-lsp
|
||||
# bash-language-server
|
||||
# digital
|
||||
# etcher
|
||||
# fontforge
|
||||
# freecad
|
||||
# git-cliff
|
||||
# lua-language-server
|
||||
# lychee # link checker
|
||||
# markdown-oxide # markdown lsp
|
||||
# quickemu
|
||||
# radicle-node
|
||||
# vulkan-loader
|
||||
b3sum
|
||||
delta
|
||||
devenv
|
||||
direnv
|
||||
gh
|
||||
hyperfine
|
||||
jujutsu
|
||||
just
|
||||
lldb
|
||||
mask
|
||||
mprocs
|
||||
nomachine-client
|
||||
presenterm
|
||||
qFlipper
|
||||
qemu
|
||||
sd
|
||||
sshfs
|
||||
taplo # toml lsp
|
||||
tio
|
||||
tokei # repo code stats
|
||||
typos
|
||||
environment.systemPackages = with pkgs; [
|
||||
# act
|
||||
# asm-lsp
|
||||
# bash-language-server
|
||||
# digital
|
||||
# etcher
|
||||
# fontforge
|
||||
# freecad
|
||||
# git-cliff
|
||||
# lua-language-server
|
||||
# lychee # link checker
|
||||
# markdown-oxide # markdown lsp
|
||||
# quickemu
|
||||
# radicle-node
|
||||
# vulkan-loader
|
||||
b3sum
|
||||
delta
|
||||
devenv
|
||||
direnv
|
||||
gh
|
||||
hyperfine
|
||||
jujutsu
|
||||
just
|
||||
lldb
|
||||
mask
|
||||
mprocs
|
||||
nomachine-client
|
||||
presenterm
|
||||
qFlipper
|
||||
qemu
|
||||
sd
|
||||
sshfs
|
||||
taplo # toml lsp
|
||||
tio
|
||||
tokei # repo code stats
|
||||
typos
|
||||
|
||||
# # databases
|
||||
# sqlite
|
||||
# sqls
|
||||
# sqlx-cli
|
||||
# sea-orm-cli
|
||||
# rainfrog
|
||||
# # databases
|
||||
# sqlite
|
||||
# sqls
|
||||
# sqlx-cli
|
||||
# sea-orm-cli
|
||||
# rainfrog
|
||||
|
||||
# # arduino
|
||||
# arduino-language-server
|
||||
# arduino-cli
|
||||
# pkgsCross.avr.buildPackages.gcc
|
||||
# avrdude
|
||||
# ravedude
|
||||
# # arduino
|
||||
# arduino-language-server
|
||||
# arduino-cli
|
||||
# pkgsCross.avr.buildPackages.gcc
|
||||
# avrdude
|
||||
# ravedude
|
||||
|
||||
# c
|
||||
clang
|
||||
clang-tools
|
||||
gcc
|
||||
gdb
|
||||
gnumake
|
||||
# c
|
||||
clang
|
||||
clang-tools
|
||||
gcc
|
||||
gdb
|
||||
gnumake
|
||||
|
||||
# nix
|
||||
nil
|
||||
alejandra
|
||||
# nix
|
||||
nil
|
||||
alejandra
|
||||
|
||||
# python
|
||||
# pypy3
|
||||
python3
|
||||
uv
|
||||
ruff
|
||||
# python
|
||||
# pypy3
|
||||
python3
|
||||
uv
|
||||
ruff
|
||||
|
||||
# rust
|
||||
cargo-binstall
|
||||
bacon
|
||||
cargo-expand
|
||||
cargo-feature
|
||||
cargo-generate
|
||||
cargo-watch
|
||||
elf2uf2-rs
|
||||
flip-link
|
||||
mdbook
|
||||
mold-wrapped
|
||||
probe-rs
|
||||
rustup
|
||||
rusty-man
|
||||
sccache
|
||||
trunk
|
||||
wasm-bindgen-cli
|
||||
];
|
||||
# rust
|
||||
cargo-binstall
|
||||
bacon
|
||||
cargo-expand
|
||||
cargo-feature
|
||||
cargo-generate
|
||||
cargo-watch
|
||||
elf2uf2-rs
|
||||
flip-link
|
||||
mdbook
|
||||
mold-wrapped
|
||||
probe-rs
|
||||
rustup
|
||||
rusty-man
|
||||
sccache
|
||||
trunk
|
||||
wasm-bindgen-cli
|
||||
];
|
||||
|
||||
hardware.flipperzero.enable = true;
|
||||
hardware.flipperzero.enable = true;
|
||||
|
||||
services.udev.extraRules = ''
|
||||
SUBSYSTEM == "tty", GROUP="dialout", ATTRS{interface}=="Black Magic GDB Server", SYMLINK+="ttyBmpGdb"
|
||||
SUBSYSTEM == "tty", GROUP="dialout", ATTRS{interface}=="Black Magic UART Port", SYMLINK+="ttyBmpTarg"
|
||||
'';
|
||||
services.udev.extraRules = ''
|
||||
SUBSYSTEM == "tty", GROUP="dialout", ATTRS{interface}=="Black Magic GDB Server", SYMLINK+="ttyBmpGdb"
|
||||
SUBSYSTEM == "tty", GROUP="dialout", ATTRS{interface}=="Black Magic UART Port", SYMLINK+="ttyBmpTarg"
|
||||
'';
|
||||
|
||||
virtualisation.docker = {
|
||||
enable = true;
|
||||
storageDriver = "btrfs";
|
||||
};
|
||||
# virtualisation.docker.rootless = {
|
||||
# enable = true;
|
||||
# setSocketVariable = true;
|
||||
# };
|
||||
users.extraGroups.docker.members = ["tao"];
|
||||
virtualisation.docker = {
|
||||
enable = true;
|
||||
storageDriver = "btrfs";
|
||||
};
|
||||
# virtualisation.docker.rootless = {
|
||||
# enable = true;
|
||||
# setSocketVariable = true;
|
||||
# };
|
||||
users.extraGroups.docker.members = ["tao"];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,24 +10,24 @@
|
|||
# else false;
|
||||
# in
|
||||
{
|
||||
# programs.noisetorch.enable = true;
|
||||
# aagl.url = "github:ezKEa/aagl-gtk-on-nix";
|
||||
# aagl.inputs.nixpkgs.follows = "nixpkgs";
|
||||
# programs.noisetorch.enable = true;
|
||||
# aagl.url = "github:ezKEa/aagl-gtk-on-nix";
|
||||
# aagl.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
# parsec-bin
|
||||
# yuzu # nintendo can suck the shit out of my asshole
|
||||
gamemode
|
||||
heroic
|
||||
lutris
|
||||
mangohud
|
||||
prismlauncher
|
||||
protonup-qt
|
||||
r2modman
|
||||
wine
|
||||
temurin-jre-bin-17
|
||||
graalvm-ce
|
||||
];
|
||||
environment.systemPackages = with pkgs; [
|
||||
# parsec-bin
|
||||
# yuzu # nintendo can suck the shit out of my asshole
|
||||
gamemode
|
||||
heroic
|
||||
lutris
|
||||
mangohud
|
||||
prismlauncher
|
||||
protonup-qt
|
||||
r2modman
|
||||
wine
|
||||
temurin-jre-bin-17
|
||||
graalvm-ce
|
||||
];
|
||||
|
||||
networking.firewall.allowedTCPPorts = [25565];
|
||||
|
||||
|
|
|
|||
|
|
@ -22,6 +22,11 @@
|
|||
where = "/mnt/uwuraid/everything";
|
||||
})
|
||||
(opts
|
||||
// {
|
||||
what = "//100.97.47.81/downloads";
|
||||
where = "/mnt/uwuraid/downloads";
|
||||
})
|
||||
(opts
|
||||
// {
|
||||
what = "//100.97.47.81/media";
|
||||
where = "/mnt/uwuraid/media";
|
||||
|
|
@ -54,6 +59,7 @@
|
|||
(opts // {where = "/mnt/uwuraid/anime";})
|
||||
(opts // {where = "/mnt/uwuraid/backup";})
|
||||
(opts // {where = "/mnt/uwuraid/everything";})
|
||||
(opts // {where = "/mnt/uwuraid/downloads";})
|
||||
(opts // {where = "/mnt/uwuraid/media";})
|
||||
# (opts // {where = "/mnt/uwuraid/isos";})
|
||||
(opts // {where = "/mnt/uwuraid/photos";})
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
let
|
||||
# get these from /etc/ssh
|
||||
NOcomputer = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPv53GM1uDDOdRxIlHmpf6x2y13yT5bFDNyrgDGLAR1l";
|
||||
NOlaptop = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILtdTREsBxzg/8s0lVCwL+r18qMP8glxAKaKEg+71I6m";
|
||||
NOmom = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGdPvIo0P00I27i9XQFngsklw/dSyoFs7EgRt7RvkbSq";
|
||||
NObangers = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGFLjWigGCzbpumo0WA8xXR0PAxSifyocOMNTFqfFLOq";
|
||||
systems = [NOcomputer NOlaptop NOmom NObangers];
|
||||
# get these from /etc/ssh
|
||||
NOcomputer = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPv53GM1uDDOdRxIlHmpf6x2y13yT5bFDNyrgDGLAR1l";
|
||||
NOlaptop = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILtdTREsBxzg/8s0lVCwL+r18qMP8glxAKaKEg+71I6m";
|
||||
NOmom = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGdPvIo0P00I27i9XQFngsklw/dSyoFs7EgRt7RvkbSq";
|
||||
NObangers = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGFLjWigGCzbpumo0WA8xXR0PAxSifyocOMNTFqfFLOq";
|
||||
systems = [NOcomputer NOlaptop NOmom NObangers];
|
||||
in {
|
||||
"uwuraid.age".publicKeys = systems;
|
||||
"syncthing-NOcomputer.age".publicKeys = systems;
|
||||
"syncthing-NOlaptop.age".publicKeys = systems;
|
||||
"syncthing-uwuraid.age".publicKeys = systems;
|
||||
"password-tao.age".publicKeys = systems;
|
||||
"uwuraid.age".publicKeys = systems;
|
||||
"syncthing-NOcomputer.age".publicKeys = systems;
|
||||
"syncthing-NOlaptop.age".publicKeys = systems;
|
||||
"syncthing-uwuraid.age".publicKeys = systems;
|
||||
"password-tao.age".publicKeys = systems;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -88,6 +88,7 @@
|
|||
users.users.root.openssh.authorizedKeys.keys = [
|
||||
];
|
||||
programs.ssh.startAgent = true;
|
||||
services.gnome.gcr-ssh-agent.enable = false;
|
||||
|
||||
services.printing.enable = lib.mkDefault true;
|
||||
services.printing.drivers = with pkgs; lib.mkDefault [gutenprint gutenprintBin];
|
||||
|
|
|
|||
|
|
@ -1,64 +1,64 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
raspberrypi-eeprom
|
||||
];
|
||||
programs.partition-manager.enable = false;
|
||||
environment.systemPackages = with pkgs; [
|
||||
raspberrypi-eeprom
|
||||
];
|
||||
programs.partition-manager.enable = false;
|
||||
|
||||
services.printing.enable = false;
|
||||
i18n.inputMethod.enable = false;
|
||||
services.printing.enable = false;
|
||||
i18n.inputMethod.enable = false;
|
||||
|
||||
services.desktopManager.plasma6.enable = false;
|
||||
services.desktopManager.plasma6.enable = false;
|
||||
|
||||
hardware.raspberry-pi."4" = {
|
||||
apply-overlays-dtmerge.enable = true;
|
||||
bluetooth.enable = true;
|
||||
fkms-3d.enable = true;
|
||||
};
|
||||
|
||||
age.secrets.password-tao.file = ../secrets/syncthing-uwuraid.age;
|
||||
users.users.tao = {
|
||||
isNormalUser = true;
|
||||
hashedPasswordFile = config.age.secrets.password-tao.path;
|
||||
extraGroups = ["audio" "video" "wheel" "libvirtd" "dialout" "game"];
|
||||
shell = pkgs.nushell;
|
||||
};
|
||||
|
||||
boot.loader.systemd-boot.enable = false;
|
||||
boot.loader.efi.canTouchEfiVariables = false;
|
||||
|
||||
# Configure for modesetting in the device tree
|
||||
fileSystems = {
|
||||
"/" = {
|
||||
device = "/dev/disk/by-label/NIXOS_SD";
|
||||
fsType = "ext4";
|
||||
options = ["noatime"];
|
||||
hardware.raspberry-pi."4" = {
|
||||
apply-overlays-dtmerge.enable = true;
|
||||
bluetooth.enable = true;
|
||||
fkms-3d.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
nix.buildMachines = [
|
||||
{
|
||||
hostName = "nolaptop";
|
||||
systems = ["x86_64-linux" "i686-linux"];
|
||||
supportedFeatures = [
|
||||
"benchmark"
|
||||
"big-parallel"
|
||||
"gccarch-znver4"
|
||||
"kvm"
|
||||
"nixos-test"
|
||||
];
|
||||
}
|
||||
];
|
||||
nix.extraOptions = ''
|
||||
builders-use-substitutes = true
|
||||
'';
|
||||
nix.distributedBuilds = true;
|
||||
age.secrets.password-tao.file = ../secrets/syncthing-uwuraid.age;
|
||||
users.users.tao = {
|
||||
isNormalUser = true;
|
||||
hashedPasswordFile = config.age.secrets.password-tao.path;
|
||||
extraGroups = ["audio" "video" "wheel" "libvirtd" "dialout" "game"];
|
||||
shell = pkgs.nushell;
|
||||
};
|
||||
|
||||
networking.hostName = "NObangers";
|
||||
nixpkgs.hostPlatform = "aarch64-linux";
|
||||
system.stateVersion = "23.11";
|
||||
boot.loader.systemd-boot.enable = false;
|
||||
boot.loader.efi.canTouchEfiVariables = false;
|
||||
|
||||
# Configure for modesetting in the device tree
|
||||
fileSystems = {
|
||||
"/" = {
|
||||
device = "/dev/disk/by-label/NIXOS_SD";
|
||||
fsType = "ext4";
|
||||
options = ["noatime"];
|
||||
};
|
||||
};
|
||||
|
||||
nix.buildMachines = [
|
||||
{
|
||||
hostName = "nolaptop";
|
||||
systems = ["x86_64-linux" "i686-linux"];
|
||||
supportedFeatures = [
|
||||
"benchmark"
|
||||
"big-parallel"
|
||||
"gccarch-znver4"
|
||||
"kvm"
|
||||
"nixos-test"
|
||||
];
|
||||
}
|
||||
];
|
||||
nix.extraOptions = ''
|
||||
builders-use-substitutes = true
|
||||
'';
|
||||
nix.distributedBuilds = true;
|
||||
|
||||
networking.hostName = "NObangers";
|
||||
nixpkgs.hostPlatform = "aarch64-linux";
|
||||
system.stateVersion = "23.11";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
# let
|
||||
# boostless = pkgs.pipewire.overrideAttrs (old: {
|
||||
|
|
@ -13,110 +13,110 @@
|
|||
# });
|
||||
# in
|
||||
{
|
||||
environment.etc."alsa-card-profile/analog-input-internal-mic.conf".source = ../extras/analog-input-internal-mic.conf;
|
||||
environment.etc."alsa-card-profile/analog-input-internal-mic.conf".source = ../extras/analog-input-internal-mic.conf;
|
||||
|
||||
hardware.opengl.extraPackages = with pkgs; [
|
||||
amdvlk
|
||||
];
|
||||
hardware.opengl.extraPackages32 = with pkgs; [
|
||||
driversi686Linux.amdvlk
|
||||
];
|
||||
services.xserver.videoDrivers = [
|
||||
"amdgpu"
|
||||
];
|
||||
hardware.opengl.extraPackages = with pkgs; [
|
||||
amdvlk
|
||||
];
|
||||
hardware.opengl.extraPackages32 = with pkgs; [
|
||||
driversi686Linux.amdvlk
|
||||
];
|
||||
services.xserver.videoDrivers = [
|
||||
"amdgpu"
|
||||
];
|
||||
|
||||
# services.pipewire.wireplumber.extraConfig = {
|
||||
# "wireplumber.settings" = {
|
||||
# "device.routes.default-source-volume" = 0.42;
|
||||
# };
|
||||
# };
|
||||
# services.pipewire.wireplumber.extraConfig = {
|
||||
# "wireplumber.settings" = {
|
||||
# "device.routes.default-source-volume" = 0.42;
|
||||
# };
|
||||
# };
|
||||
|
||||
services.rsyslogd = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
module(load="imudp")
|
||||
input(type="imudp" port="514")
|
||||
services.rsyslogd = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
module(load="imudp")
|
||||
input(type="imudp" port="514")
|
||||
|
||||
THENAS.* -/var/log/THENAS
|
||||
THENAS.* -/var/log/THENAS
|
||||
'';
|
||||
};
|
||||
|
||||
# nixpkgs.overlays = [
|
||||
# (final: prev: {
|
||||
# libinput = prev.libinput.overrideAttrs (old: {
|
||||
# patches =
|
||||
# (old.patches or [])
|
||||
# ++ [
|
||||
# ../extras/libinput-delay.patch
|
||||
# ];
|
||||
# });
|
||||
# })
|
||||
# ];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
fw-ectool
|
||||
framework-tool
|
||||
nvtopPackages.amd
|
||||
lact
|
||||
];
|
||||
|
||||
systemd.services.lactd.wantedBy = ["multi-user.target"];
|
||||
|
||||
services.fwupd.enable = true;
|
||||
services.tailscale.useRoutingFeatures = "client";
|
||||
systemd.services."backlight@backlight:amdgpu_bl2".enable = false;
|
||||
|
||||
nix.buildMachines = [
|
||||
{
|
||||
hostName = "nocomputer";
|
||||
systems = ["x86_64-linux" "i686-linux"];
|
||||
supportedFeatures = [
|
||||
"benchmark"
|
||||
"big-parallel"
|
||||
"gccarch-znver4"
|
||||
"kvm"
|
||||
"nixos-test"
|
||||
];
|
||||
}
|
||||
];
|
||||
nix.extraOptions = ''
|
||||
builders-use-substitutes = true
|
||||
'';
|
||||
};
|
||||
nix.distributedBuilds = true;
|
||||
|
||||
# nixpkgs.overlays = [
|
||||
# (final: prev: {
|
||||
# libinput = prev.libinput.overrideAttrs (old: {
|
||||
# patches =
|
||||
# (old.patches or [])
|
||||
# ++ [
|
||||
# ../extras/libinput-delay.patch
|
||||
# ];
|
||||
# });
|
||||
# })
|
||||
# ];
|
||||
services.udev.extraRules = ''
|
||||
# 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"
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
fw-ectool
|
||||
framework-tool
|
||||
nvtopPackages.amd
|
||||
lact
|
||||
];
|
||||
ACTION=="add|change", SUBSYSTEM=="usb", DRIVERS=="usb", ATTRS{idVendor}=="32ac", ATTRS{idProduct}=="0012", ATTR{power/wakeup}="disabled"
|
||||
ACTION=="add|change", KERNEL=="i2c", SUBSYSTEM=="i2c", DEVPATH=="/sys/devices/platform/AMDI0010:03/i2c-1/i2c-PIXA3854:00", ATTR{power/wakeup}="disabled"
|
||||
|
||||
systemd.services.lactd.wantedBy = ["multi-user.target"];
|
||||
# ACTION=="add", SUBSYSTEM=="acpi", DRIVERS=="button", ATTRS{hid}=="PNP0C0D", ATTR{power/wakeup}="disabled"
|
||||
# ACTION=="add", SUBSYSTEM=="serio", DRIVERS=="atkbd", ATTR{power/wakeup}="disabled"
|
||||
# ACTION=="add", SUBSYSTEM=="i2c", DRIVERS=="i2c_hid_acpi", ATTRS{name}=="PIXA3854:00", ATTR{power/wakeup}="disabled"
|
||||
'';
|
||||
|
||||
services.fwupd.enable = true;
|
||||
services.tailscale.useRoutingFeatures = "client";
|
||||
systemd.services."backlight@backlight:amdgpu_bl2".enable = false;
|
||||
services.fprintd.enable = true;
|
||||
|
||||
nix.buildMachines = [
|
||||
{
|
||||
hostName = "nocomputer";
|
||||
systems = ["x86_64-linux" "i686-linux"];
|
||||
supportedFeatures = [
|
||||
"benchmark"
|
||||
"big-parallel"
|
||||
"gccarch-znver4"
|
||||
"kvm"
|
||||
"nixos-test"
|
||||
];
|
||||
}
|
||||
];
|
||||
nix.extraOptions = ''
|
||||
builders-use-substitutes = true
|
||||
'';
|
||||
nix.distributedBuilds = true;
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
# boot.initrd.availableKernelModules = [
|
||||
# "nvme"
|
||||
# "sd_mod"
|
||||
# "thunderbolt"
|
||||
# "usb_storage"
|
||||
# "xhci_pci"
|
||||
# "usbhid"
|
||||
# "uas"
|
||||
# ];
|
||||
boot.kernelParams = [
|
||||
"amdgpu.abmlevel=1"
|
||||
# "amdgpu.dcdebugmask=0x400"
|
||||
# "mem_sleep_default=deep"
|
||||
];
|
||||
# boot.kernelModules = ["kvm-amd"];
|
||||
boot.kernelModules = ["amdgpu"];
|
||||
powerManagement.cpuFreqGovernor = "powersave";
|
||||
systemd.sleep.extraConfig = "HibernateDelaySec=360m";
|
||||
|
||||
services.udev.extraRules = ''
|
||||
# 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"
|
||||
|
||||
ACTION=="add|change", SUBSYSTEM=="usb", DRIVERS=="usb", ATTRS{idVendor}=="32ac", ATTRS{idProduct}=="0012", ATTR{power/wakeup}="disabled"
|
||||
ACTION=="add|change", KERNEL=="i2c", SUBSYSTEM=="i2c", DEVPATH=="/sys/devices/platform/AMDI0010:03/i2c-1/i2c-PIXA3854:00", ATTR{power/wakeup}="disabled"
|
||||
|
||||
# ACTION=="add", SUBSYSTEM=="acpi", DRIVERS=="button", ATTRS{hid}=="PNP0C0D", ATTR{power/wakeup}="disabled"
|
||||
# ACTION=="add", SUBSYSTEM=="serio", DRIVERS=="atkbd", ATTR{power/wakeup}="disabled"
|
||||
# ACTION=="add", SUBSYSTEM=="i2c", DRIVERS=="i2c_hid_acpi", ATTRS{name}=="PIXA3854:00", ATTR{power/wakeup}="disabled"
|
||||
'';
|
||||
|
||||
services.fprintd.enable = true;
|
||||
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
# boot.initrd.availableKernelModules = [
|
||||
# "nvme"
|
||||
# "sd_mod"
|
||||
# "thunderbolt"
|
||||
# "usb_storage"
|
||||
# "xhci_pci"
|
||||
# "usbhid"
|
||||
# "uas"
|
||||
# ];
|
||||
boot.kernelParams = [
|
||||
"amdgpu.abmlevel=1"
|
||||
# "amdgpu.dcdebugmask=0x400"
|
||||
# "mem_sleep_default=deep"
|
||||
];
|
||||
# boot.kernelModules = ["kvm-amd"];
|
||||
boot.kernelModules = ["amdgpu"];
|
||||
powerManagement.cpuFreqGovernor = "powersave";
|
||||
systemd.sleep.extraConfig = "HibernateDelaySec=360m";
|
||||
|
||||
networking.hostName = "NOlaptop";
|
||||
networking.hostName = "NOlaptop";
|
||||
}
|
||||
|
|
|
|||
296
users/tao.nix
296
users/tao.nix
|
|
@ -1,162 +1,162 @@
|
|||
{
|
||||
inputs,
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
inputs,
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
users.users.tao.packages = with pkgs; [
|
||||
# boxxy
|
||||
calibre
|
||||
# carapace
|
||||
# cloud-hypervisor
|
||||
# davinci-resolve
|
||||
# fractal
|
||||
# freerdp
|
||||
# inputs.plasma-manager.packages.${pkgs.system}.default
|
||||
# jellyfin-mpv-shim
|
||||
# libsForQt5.kcharselect
|
||||
# mendeley
|
||||
# piper
|
||||
# slack
|
||||
# tectonic
|
||||
# texlab
|
||||
# thunderbird
|
||||
# wkhtmltopdf
|
||||
appimage-run
|
||||
aspell
|
||||
aspellDicts.en
|
||||
bottles
|
||||
darktable
|
||||
deluge
|
||||
discord
|
||||
freecad-wayland
|
||||
gocryptfs
|
||||
gurk-rs
|
||||
jellyfin-media-player
|
||||
# kdePackages.plasma-vault
|
||||
keepassxc
|
||||
# leetcode-cli
|
||||
man-pages
|
||||
man-pages-posix
|
||||
miniserve
|
||||
mousai
|
||||
nix-output-monitor
|
||||
nixos-anywhere
|
||||
nufmt
|
||||
nushell
|
||||
nvd
|
||||
obs-studio
|
||||
oculante
|
||||
onlyoffice-bin
|
||||
pandoc
|
||||
pipe-rename
|
||||
prusa-slicer
|
||||
qmk
|
||||
qmk-udev-rules
|
||||
qmk_hid
|
||||
ripgrep-all
|
||||
signal-desktop
|
||||
slack
|
||||
snapper
|
||||
starship
|
||||
syncthingtray
|
||||
taskwarrior3
|
||||
tinymist
|
||||
toastify
|
||||
typst
|
||||
usbutils
|
||||
vial
|
||||
wezterm
|
||||
wl-clipboard-rs
|
||||
yt-dlp
|
||||
zathura
|
||||
zellij
|
||||
zoom-us
|
||||
zoxide
|
||||
];
|
||||
programs.adb.enable = true;
|
||||
programs.kdeconnect.enable = true;
|
||||
environment.shells = with pkgs; [nushell];
|
||||
users.users.tao.packages = with pkgs; [
|
||||
# boxxy
|
||||
calibre
|
||||
# carapace
|
||||
# cloud-hypervisor
|
||||
# davinci-resolve
|
||||
# fractal
|
||||
# freerdp
|
||||
# inputs.plasma-manager.packages.${pkgs.system}.default
|
||||
# jellyfin-mpv-shim
|
||||
# libsForQt5.kcharselect
|
||||
# mendeley
|
||||
# piper
|
||||
# slack
|
||||
# tectonic
|
||||
# texlab
|
||||
# thunderbird
|
||||
# wkhtmltopdf
|
||||
appimage-run
|
||||
aspell
|
||||
aspellDicts.en
|
||||
bottles
|
||||
darktable
|
||||
deluge
|
||||
discord
|
||||
freecad-wayland
|
||||
gocryptfs
|
||||
gurk-rs
|
||||
jellyfin-media-player
|
||||
# kdePackages.plasma-vault
|
||||
keepassxc
|
||||
# leetcode-cli
|
||||
man-pages
|
||||
man-pages-posix
|
||||
miniserve
|
||||
mousai
|
||||
nix-output-monitor
|
||||
nixos-anywhere
|
||||
nufmt
|
||||
nushell
|
||||
nvd
|
||||
obs-studio
|
||||
oculante
|
||||
onlyoffice-bin
|
||||
pandoc
|
||||
pipe-rename
|
||||
prusa-slicer
|
||||
qmk
|
||||
qmk-udev-rules
|
||||
qmk_hid
|
||||
ripgrep-all
|
||||
signal-desktop
|
||||
slack
|
||||
snapper
|
||||
starship
|
||||
syncthingtray
|
||||
taskwarrior3
|
||||
tinymist
|
||||
toastify
|
||||
typst
|
||||
usbutils
|
||||
vial
|
||||
wezterm
|
||||
wl-clipboard-rs
|
||||
yt-dlp
|
||||
zathura
|
||||
zellij
|
||||
zoom-us
|
||||
zoxide
|
||||
];
|
||||
programs.adb.enable = true;
|
||||
programs.kdeconnect.enable = true;
|
||||
environment.shells = with pkgs; [nushell];
|
||||
|
||||
# virtualisation.libvirtd.enable = true;
|
||||
# virtualisation.libvirtd.qemu.swtpm.enable = true;
|
||||
# virtualisation.spiceUSBRedirection.enable = true;
|
||||
# programs.virt-manager.enable = true;
|
||||
# virtualisation.libvirtd.enable = true;
|
||||
# virtualisation.libvirtd.qemu.swtpm.enable = true;
|
||||
# virtualisation.spiceUSBRedirection.enable = true;
|
||||
# programs.virt-manager.enable = true;
|
||||
|
||||
# virtualisation.virtualbox.host = {
|
||||
# enable = true;
|
||||
# enableExtensionPack = true;
|
||||
# };
|
||||
# virtualisation.virtualbox.host = {
|
||||
# enable = true;
|
||||
# enableExtensionPack = true;
|
||||
# };
|
||||
|
||||
# nixpkgs.overlays = [
|
||||
# (final: prev: {
|
||||
# options.services.snapper.configs = prev.options.services.snapper.configs.overrideAttrs (old: {
|
||||
# configOptions.FSTYPE = lib.mkOption {
|
||||
# type = lib.types.enum ["btrfs" "bcachefs"];
|
||||
# };
|
||||
# });
|
||||
# })
|
||||
# ];
|
||||
# nixpkgs.overlays = [
|
||||
# (final: prev: {
|
||||
# options.services.snapper.configs = prev.options.services.snapper.configs.overrideAttrs (old: {
|
||||
# configOptions.FSTYPE = lib.mkOption {
|
||||
# type = lib.types.enum ["btrfs" "bcachefs"];
|
||||
# };
|
||||
# });
|
||||
# })
|
||||
# ];
|
||||
|
||||
disabledModules = ["services/misc/snapper.nix"];
|
||||
imports = [../extras/snapper.nix];
|
||||
services.snapper.configs = {
|
||||
home = {
|
||||
SUBVOLUME = "/home";
|
||||
# FSTYPE = "bcachefs";
|
||||
FSTYPE =
|
||||
if lib.strings.hasPrefix "NOlaptop" (builtins.readFile /etc/hostname)
|
||||
then "bcachefs"
|
||||
else "btrfs";
|
||||
ALLOW_USERS = ["tao"];
|
||||
TIMELINE_CREATE = true;
|
||||
TIMELINE_CLEANUP = true;
|
||||
TIMELINE_LIMIT_HOURLY = 5;
|
||||
TIMELINE_LIMIT_DAILY = 7;
|
||||
disabledModules = ["services/misc/snapper.nix"];
|
||||
imports = [../extras/snapper.nix];
|
||||
services.snapper.configs = {
|
||||
home = {
|
||||
SUBVOLUME = "/home";
|
||||
# FSTYPE = "bcachefs";
|
||||
FSTYPE =
|
||||
if lib.strings.hasPrefix "NOlaptop" (builtins.readFile /etc/hostname)
|
||||
then "bcachefs"
|
||||
else "btrfs";
|
||||
ALLOW_USERS = ["tao"];
|
||||
TIMELINE_CREATE = true;
|
||||
TIMELINE_CLEANUP = true;
|
||||
TIMELINE_LIMIT_HOURLY = 5;
|
||||
TIMELINE_LIMIT_DAILY = 7;
|
||||
};
|
||||
};
|
||||
};
|
||||
services.snapper.snapshotInterval = "*:0/5";
|
||||
services.snapper.snapshotInterval = "*:0/5";
|
||||
|
||||
hardware.keyboard.qmk.enable = true;
|
||||
services.udev.extraRules = ''
|
||||
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl"
|
||||
'';
|
||||
# services.ratbagd.enable = true;
|
||||
hardware.keyboard.qmk.enable = true;
|
||||
services.udev.extraRules = ''
|
||||
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl"
|
||||
'';
|
||||
# services.ratbagd.enable = true;
|
||||
|
||||
boot.extraModulePackages = with config.boot.kernelPackages; [
|
||||
v4l2loopback
|
||||
];
|
||||
boot.extraModprobeConfig = ''
|
||||
options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1
|
||||
'';
|
||||
boot.extraModulePackages = with config.boot.kernelPackages; [
|
||||
v4l2loopback
|
||||
];
|
||||
boot.extraModprobeConfig = ''
|
||||
options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1
|
||||
'';
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
# (nerdfonts.override {fonts = ["FiraCode"];})
|
||||
nerd-fonts.fira-code
|
||||
noto-fonts-cjk-sans
|
||||
noto-fonts-cjk-serif
|
||||
noto-fonts-color-emoji
|
||||
ibm-plex
|
||||
cooper-hewitt
|
||||
];
|
||||
fonts.packages = with pkgs; [
|
||||
# (nerdfonts.override {fonts = ["FiraCode"];})
|
||||
nerd-fonts.fira-code
|
||||
noto-fonts-cjk-sans
|
||||
noto-fonts-cjk-serif
|
||||
noto-fonts-color-emoji
|
||||
ibm-plex
|
||||
cooper-hewitt
|
||||
];
|
||||
|
||||
documentation.enable = true;
|
||||
documentation.enable = true;
|
||||
|
||||
# age.secrets.password-tao.file = ../secrets/syncthing-uwuraid.age;
|
||||
users.users.tao = {
|
||||
isNormalUser = true;
|
||||
# hashedPasswordFile = config.age.secrets.password-tao.path;
|
||||
extraGroups = ["audio" "video" "wheel" "libvirtd" "dialout" "game"];
|
||||
shell = pkgs.nushell;
|
||||
};
|
||||
# age.secrets.password-tao.file = ../secrets/syncthing-uwuraid.age;
|
||||
users.users.tao = {
|
||||
isNormalUser = true;
|
||||
# hashedPasswordFile = config.age.secrets.password-tao.path;
|
||||
extraGroups = ["audio" "video" "wheel" "libvirtd" "dialout" "game"];
|
||||
shell = pkgs.nushell;
|
||||
};
|
||||
|
||||
age.secrets.syncthing-NOcomputer.file = ../secrets/syncthing-NOcomputer.age;
|
||||
age.secrets.syncthing-NOlaptop.file = ../secrets/syncthing-NOlaptop.age;
|
||||
age.secrets.syncthing-uwuraid.file = ../secrets/syncthing-uwuraid.age;
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.verbose = true;
|
||||
home-manager.backupFileExtension = ".hm-bak";
|
||||
home-manager.users.tao = import ./tao/HOME.nix {inherit inputs pkgs lib config;};
|
||||
age.secrets.syncthing-NOcomputer.file = ../secrets/syncthing-NOcomputer.age;
|
||||
age.secrets.syncthing-NOlaptop.file = ../secrets/syncthing-NOlaptop.age;
|
||||
age.secrets.syncthing-uwuraid.file = ../secrets/syncthing-uwuraid.age;
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.verbose = true;
|
||||
home-manager.backupFileExtension = ".hm-bak";
|
||||
home-manager.users.tao = import ./tao/HOME.nix {inherit inputs pkgs lib config;};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,261 +1,269 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
cargoFile = builtins.readFile ./cargo.toml;
|
||||
cargoConfig = builtins.replaceStrings ["/path/to/sccache" "/path/to/mold"] ["${pkgs.sccache}/bin/sccache" "${pkgs.mold}/bin/mold}"] cargoFile;
|
||||
age.secrets.syncthing-NOcomputer.file = ../secrets/syncthing-NOcomputer.age;
|
||||
age.secrets.syncthing-NOlaptop.file = ../secrets/syncthing-NOlaptop.age;
|
||||
age.secrets.syncthing-uwuraid.file = ../secrets/syncthing-uwuraid.age;
|
||||
cargoFile = builtins.readFile ./cargo.toml;
|
||||
cargoConfig = builtins.replaceStrings ["/path/to/sccache" "/path/to/mold"] ["${pkgs.sccache}/bin/sccache" "${pkgs.mold}/bin/mold}"] cargoFile;
|
||||
age.secrets.syncthing-NOcomputer.file = ../secrets/syncthing-NOcomputer.age;
|
||||
age.secrets.syncthing-NOlaptop.file = ../secrets/syncthing-NOlaptop.age;
|
||||
age.secrets.syncthing-uwuraid.file = ../secrets/syncthing-uwuraid.age;
|
||||
in {
|
||||
imports = [
|
||||
./boxxy.nix
|
||||
(import ./helix.nix {inherit pkgs inputs;})
|
||||
# ./plasma.nix
|
||||
# ./firefox.nix
|
||||
];
|
||||
imports = [
|
||||
./boxxy.nix
|
||||
(import ./helix.nix {inherit pkgs inputs;})
|
||||
# ./plasma.nix
|
||||
# ./firefox.nix
|
||||
];
|
||||
|
||||
# home.sessionPath = [
|
||||
# "/home/tao/.cargo/bin"
|
||||
# ];
|
||||
home.file.".cargo/config.toml".text = cargoConfig;
|
||||
home.file.".config/autostart" = {
|
||||
source = ./autostart;
|
||||
recursive = true;
|
||||
# home.sessionPath = [
|
||||
# "/home/tao/.cargo/bin"
|
||||
# ];
|
||||
home.file.".cargo/config.toml".text = cargoConfig;
|
||||
home.file.".config/autostart" = {
|
||||
source = ./autostart;
|
||||
recursive = true;
|
||||
};
|
||||
home.file.".config/direnv/lib/".source = ./direnv;
|
||||
home.file.".config/direnv/lib/".recursive = true;
|
||||
|
||||
programs = {
|
||||
bacon = {
|
||||
enable = true;
|
||||
settings.jobs.default = {
|
||||
command = [
|
||||
"cargo"
|
||||
"clippy"
|
||||
"--"
|
||||
"-A"
|
||||
"clippy::bool_to_int_with_if"
|
||||
"-A"
|
||||
"clippy::collapsible_else_if"
|
||||
"-A"
|
||||
"clippy::collapsible_if"
|
||||
"-A"
|
||||
"clippy::derive_partial_eq_without_eq"
|
||||
"-A"
|
||||
"clippy::get_first"
|
||||
"-A"
|
||||
"clippy::if_same_then_else"
|
||||
"-A"
|
||||
"clippy::len_without_is_empty"
|
||||
"-A"
|
||||
"clippy::map_entry"
|
||||
"-A"
|
||||
"clippy::while_let_on_iterator"
|
||||
];
|
||||
need_stdout = false;
|
||||
};
|
||||
};
|
||||
home.file.".config/direnv/lib/".source = ./direnv;
|
||||
home.file.".config/direnv/lib/".recursive = true;
|
||||
|
||||
programs = {
|
||||
bacon = {
|
||||
enable = true;
|
||||
settings.jobs.default = {
|
||||
command = [
|
||||
"cargo"
|
||||
"clippy"
|
||||
"--"
|
||||
"-A"
|
||||
"clippy::bool_to_int_with_if"
|
||||
"-A"
|
||||
"clippy::collapsible_else_if"
|
||||
"-A"
|
||||
"clippy::collapsible_if"
|
||||
"-A"
|
||||
"clippy::derive_partial_eq_without_eq"
|
||||
"-A"
|
||||
"clippy::get_first"
|
||||
"-A"
|
||||
"clippy::if_same_then_else"
|
||||
"-A"
|
||||
"clippy::len_without_is_empty"
|
||||
"-A"
|
||||
"clippy::map_entry"
|
||||
"-A"
|
||||
"clippy::while_let_on_iterator"
|
||||
];
|
||||
need_stdout = false;
|
||||
};
|
||||
bat = {
|
||||
enable = true;
|
||||
config = {
|
||||
theme = "gruvbox-dark";
|
||||
};
|
||||
};
|
||||
|
||||
bottom = {
|
||||
enable = true;
|
||||
settings = {
|
||||
color = "gruvbox";
|
||||
flags = {
|
||||
battery =
|
||||
# if lib.strings.hasPrefix "NOlaptop" (builtins.readFile /etc/hostname)
|
||||
# then true
|
||||
# else false;
|
||||
true;
|
||||
hide_time = true;
|
||||
enable_gpu = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
bat = {
|
||||
enable = true;
|
||||
config = {
|
||||
theme = "gruvbox-dark";
|
||||
};
|
||||
direnv = {
|
||||
enable = true;
|
||||
enableNushellIntegration = true;
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
|
||||
jujutsu = {
|
||||
enable = true;
|
||||
settings = {
|
||||
user = {
|
||||
name = "Tao Tien";
|
||||
email = "29749622+taotien@users.noreply.github.com";
|
||||
};
|
||||
|
||||
bottom = {
|
||||
enable = true;
|
||||
settings = {
|
||||
color = "gruvbox";
|
||||
flags = {
|
||||
battery =
|
||||
# if lib.strings.hasPrefix "NOlaptop" (builtins.readFile /etc/hostname)
|
||||
# then true
|
||||
# else false;
|
||||
true;
|
||||
hide_time = true;
|
||||
enable_gpu = true;
|
||||
};
|
||||
};
|
||||
ui = {
|
||||
default-command = "log";
|
||||
};
|
||||
};
|
||||
# package = inputs.jujutsu.packages.${pkgs.system}.default;
|
||||
};
|
||||
|
||||
direnv = {
|
||||
enable = true;
|
||||
enableNushellIntegration = true;
|
||||
nix-direnv.enable = true;
|
||||
git = {
|
||||
enable = true;
|
||||
userName = "Tao Tien";
|
||||
userEmail = "29749622+taotien@users.noreply.github.com";
|
||||
# extraConfig = {
|
||||
# };
|
||||
ignores = [
|
||||
"/target"
|
||||
".direnv"
|
||||
];
|
||||
};
|
||||
|
||||
nushell = {
|
||||
enable = true;
|
||||
configFile.source = ./nushell/config.nu;
|
||||
envFile.source = ./nushell/env.nu;
|
||||
# extraConfig = builtins.readFile ./nushell/stuff.nu;
|
||||
extraConfig = lib.concatStrings (map builtins.readFile (map (x: ./nushell/extras/. + x) (map (x: "/" + x) (builtins.attrNames (builtins.readDir ./nushell/extras)))));
|
||||
};
|
||||
|
||||
ssh = {
|
||||
enable = true;
|
||||
addKeysToAgent = "yes";
|
||||
compression = true;
|
||||
matchBlocks = {
|
||||
"stargate" = {
|
||||
hostname = "stargate.cs.usfca.edu";
|
||||
user = "tltien";
|
||||
forwardAgent = true;
|
||||
identityFile = "/home/tao/.ssh/id_ed25519";
|
||||
};
|
||||
|
||||
jujutsu = {
|
||||
enable = true;
|
||||
settings = {
|
||||
user = {
|
||||
name = "Tao Tien";
|
||||
email = "29749622+taotien@users.noreply.github.com";
|
||||
};
|
||||
ui = {
|
||||
default-command = "log";
|
||||
};
|
||||
};
|
||||
# package = inputs.jujutsu.packages.${pkgs.system}.default;
|
||||
"griffin" = {
|
||||
hostname = "griffin.cs.usfca.edu";
|
||||
user = "tltien";
|
||||
forwardAgent = true;
|
||||
identityFile = "/home/tao/.ssh/id_ed25519";
|
||||
# proxyCommand = "ssh griffin.cs.usfca.edu";
|
||||
};
|
||||
|
||||
git = {
|
||||
enable = true;
|
||||
userName = "Tao Tien";
|
||||
userEmail = "29749622+taotien@users.noreply.github.com";
|
||||
# extraConfig = {
|
||||
# };
|
||||
ignores = [
|
||||
"/target"
|
||||
".direnv"
|
||||
];
|
||||
"github" = {
|
||||
hostname = "github.com";
|
||||
forwardAgent = true;
|
||||
identityFile = "/home/tao/.ssh/id_ed25519";
|
||||
};
|
||||
|
||||
nushell = {
|
||||
enable = true;
|
||||
configFile.source = ./nushell/config.nu;
|
||||
envFile.source = ./nushell/env.nu;
|
||||
# extraConfig = builtins.readFile ./nushell/stuff.nu;
|
||||
extraConfig = lib.concatStrings (map builtins.readFile (map (x: ./nushell/extras/. + x) (map (x: "/" + x) (builtins.attrNames (builtins.readDir ./nushell/extras)))));
|
||||
};
|
||||
|
||||
ssh = {
|
||||
enable = true;
|
||||
addKeysToAgent = "yes";
|
||||
compression = true;
|
||||
matchBlocks = {
|
||||
"stargate" = {
|
||||
hostname = "stargate.cs.usfca.edu";
|
||||
user = "tltien";
|
||||
forwardAgent = true;
|
||||
identityFile = "/home/tao/.ssh/id_ed25519";
|
||||
};
|
||||
"griffin" = {
|
||||
hostname = "griffin.cs.usfca.edu";
|
||||
user = "tltien";
|
||||
forwardAgent = true;
|
||||
identityFile = "/home/tao/.ssh/id_ed25519";
|
||||
# proxyCommand = "ssh griffin.cs.usfca.edu";
|
||||
};
|
||||
"github" = {
|
||||
hostname = "github.com";
|
||||
forwardAgent = true;
|
||||
identityFile = "/home/tao/.ssh/id_ed25519";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
starship = {
|
||||
enable = true;
|
||||
enableNushellIntegration = true;
|
||||
settings = builtins.fromTOML (builtins.readFile ./starship.toml);
|
||||
};
|
||||
|
||||
# taskwarrior = {
|
||||
# enable = true;
|
||||
# package = pkgs.taskwarrior3;
|
||||
# dataLocation = "/home/tao/sync";
|
||||
# "uwuraid" = {
|
||||
# hostname = "uwuraid";
|
||||
# user = "root";
|
||||
# # extraOptions = ["-t" "cd /mnt/user; exet \$SHELL -l"];
|
||||
# # requesttty = true;
|
||||
# # identityFile = "/home/tao/.ssh/id_ed25519";
|
||||
# proxyCommand = "ssh -t root@uwuraid cd /mnt/user; exec \\$SHELL -l";
|
||||
# };
|
||||
|
||||
wezterm = {
|
||||
enable = true;
|
||||
extraConfig = builtins.readFile ./wezterm.lua;
|
||||
};
|
||||
|
||||
zathura = {
|
||||
enable = true;
|
||||
options = {
|
||||
selection-clipboard = "clipboard";
|
||||
};
|
||||
};
|
||||
|
||||
zellij = {
|
||||
enable = true;
|
||||
settings = {};
|
||||
};
|
||||
|
||||
zoxide = {
|
||||
enable = true;
|
||||
enableNushellIntegration = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
pueue = {
|
||||
enable = true;
|
||||
settings = {};
|
||||
starship = {
|
||||
enable = true;
|
||||
enableNushellIntegration = true;
|
||||
settings = builtins.fromTOML (builtins.readFile ./starship.toml);
|
||||
};
|
||||
|
||||
# taskwarrior = {
|
||||
# enable = true;
|
||||
# package = pkgs.taskwarrior3;
|
||||
# dataLocation = "/home/tao/sync";
|
||||
# };
|
||||
|
||||
wezterm = {
|
||||
enable = true;
|
||||
extraConfig = builtins.readFile ./wezterm.lua;
|
||||
};
|
||||
|
||||
zathura = {
|
||||
enable = true;
|
||||
options = {
|
||||
selection-clipboard = "clipboard";
|
||||
};
|
||||
};
|
||||
|
||||
zellij = {
|
||||
enable = true;
|
||||
settings = {};
|
||||
};
|
||||
|
||||
zoxide = {
|
||||
enable = true;
|
||||
enableNushellIntegration = true;
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
pueue = {
|
||||
enable = true;
|
||||
settings = {};
|
||||
};
|
||||
};
|
||||
|
||||
services.syncthing = {
|
||||
enable = true;
|
||||
# user = "tao";
|
||||
# dataDir = "/home/tao/sync";
|
||||
# configDir = "/home/tao/.config/syncthing";
|
||||
overrideDevices = true;
|
||||
overrideFolders = true;
|
||||
# openDefaultPorts = true;
|
||||
settings = {
|
||||
devices = {
|
||||
# we do a lil anti-patterns https://github.com/ryantm/agenix?tab=readme-ov-file#builtinsreadfile-anti-pattern
|
||||
# bootstrap by commenting out devices first and rebuild switch impurely
|
||||
"nocomputer".id = builtins.readFile config.age.secrets.syncthing-NOcomputer.path;
|
||||
"nolaptop".id = builtins.readFile config.age.secrets.syncthing-NOlaptop.path;
|
||||
"uwuraid".id = builtins.readFile config.age.secrets.syncthing-uwuraid.path;
|
||||
};
|
||||
folders = let
|
||||
devs = [
|
||||
"nocomputer"
|
||||
"nolaptop"
|
||||
"uwuraid"
|
||||
];
|
||||
in {
|
||||
# "documents" = {
|
||||
# path = "/home/tao/documents";
|
||||
# devices = devs;
|
||||
# };
|
||||
"pictures" = {
|
||||
path = "/home/tao/pictures";
|
||||
devices = devs;
|
||||
};
|
||||
};
|
||||
|
||||
services.syncthing = {
|
||||
enable = true;
|
||||
# user = "tao";
|
||||
# dataDir = "/home/tao/sync";
|
||||
# configDir = "/home/tao/.config/syncthing";
|
||||
overrideDevices = true;
|
||||
overrideFolders = true;
|
||||
# openDefaultPorts = true;
|
||||
settings = {
|
||||
devices = {
|
||||
# we do a lil anti-patterns https://github.com/ryantm/agenix?tab=readme-ov-file#builtinsreadfile-anti-pattern
|
||||
# bootstrap by commenting out devices first and rebuild switch impurely
|
||||
"nocomputer".id = builtins.readFile config.age.secrets.syncthing-NOcomputer.path;
|
||||
"nolaptop".id = builtins.readFile config.age.secrets.syncthing-NOlaptop.path;
|
||||
"uwuraid".id = builtins.readFile config.age.secrets.syncthing-uwuraid.path;
|
||||
};
|
||||
folders = let
|
||||
devs = [
|
||||
"nocomputer"
|
||||
"nolaptop"
|
||||
"uwuraid"
|
||||
];
|
||||
in {
|
||||
# "documents" = {
|
||||
# path = "/home/tao/documents";
|
||||
# devices = devs;
|
||||
# };
|
||||
"pictures" = {
|
||||
path = "/home/tao/pictures";
|
||||
devices = devs;
|
||||
};
|
||||
"projects" = {
|
||||
path = "/home/tao/projects";
|
||||
devices = devs;
|
||||
};
|
||||
"school" = {
|
||||
path = "/home/tao/school";
|
||||
devices = devs;
|
||||
};
|
||||
"sync" = {
|
||||
path = "/home/tao/sync";
|
||||
devices = devs;
|
||||
};
|
||||
# "work" = {
|
||||
# path = "/home/tao/work";
|
||||
# devices = devs;
|
||||
# };
|
||||
};
|
||||
"projects" = {
|
||||
path = "/home/tao/projects";
|
||||
devices = devs;
|
||||
};
|
||||
"school" = {
|
||||
path = "/home/tao/school";
|
||||
devices = devs;
|
||||
};
|
||||
"sync" = {
|
||||
path = "/home/tao/sync";
|
||||
devices = devs;
|
||||
};
|
||||
# "work" = {
|
||||
# path = "/home/tao/work";
|
||||
# devices = devs;
|
||||
# };
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
xdg.userDirs = {
|
||||
desktop = "desktop";
|
||||
documents = "documents";
|
||||
download = "downloads";
|
||||
music = "music";
|
||||
pictures = "pictures";
|
||||
templates = "templates";
|
||||
videos = "videos";
|
||||
publicShare = null;
|
||||
createDirectories = true;
|
||||
enable = true;
|
||||
};
|
||||
xdg.userDirs = {
|
||||
desktop = "desktop";
|
||||
documents = "documents";
|
||||
download = "downloads";
|
||||
music = "music";
|
||||
pictures = "pictures";
|
||||
templates = "templates";
|
||||
videos = "videos";
|
||||
publicShare = null;
|
||||
createDirectories = true;
|
||||
enable = true;
|
||||
};
|
||||
|
||||
home.username = "tao";
|
||||
home.homeDirectory = "/home/tao";
|
||||
home.stateVersion = "23.11";
|
||||
home.username = "tao";
|
||||
home.homeDirectory = "/home/tao";
|
||||
home.stateVersion = "23.11";
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue