switch to pulseaudio? kms, user
This commit is contained in:
parent
4a94982184
commit
2202a9e279
2 changed files with 203 additions and 194 deletions
|
|
@ -1,55 +1,64 @@
|
||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
raspberrypi-eeprom
|
raspberrypi-eeprom
|
||||||
];
|
];
|
||||||
programs.partition-manager.enable = false;
|
programs.partition-manager.enable = false;
|
||||||
|
|
||||||
services.printing.enable = false;
|
services.printing.enable = false;
|
||||||
i18n.inputMethod = {};
|
i18n.inputMethod = {};
|
||||||
|
|
||||||
services.xserver.enable = false;
|
services.xserver.enable = false;
|
||||||
services.desktopManager.plasma6.enable = false;
|
services.desktopManager.plasma6.enable = false;
|
||||||
|
|
||||||
hardware.raspberry-pi."4" = {
|
services.pipewire.enable = false;
|
||||||
bluetooth.enable = true;
|
services.pulseaudio.enable = true;
|
||||||
audio.enable = true;
|
config.hardware.raspberry-pi."4" = {
|
||||||
|
bluetooth.enable = true;
|
||||||
|
fkms-3d.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
|
fileSystems = {
|
||||||
|
"/" = {
|
||||||
|
device = "/dev/disk/by-label/NIXOS_SD";
|
||||||
|
fsType = "ext4";
|
||||||
|
options = ["noatime"];
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
boot.loader.systemd-boot.enable = false;
|
nix.buildMachines = [
|
||||||
boot.loader.efi.canTouchEfiVariables = false;
|
{
|
||||||
|
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;
|
||||||
|
|
||||||
fileSystems = {
|
networking.hostName = "NObangers";
|
||||||
"/" = {
|
nixpkgs.hostPlatform = "aarch64-linux";
|
||||||
device = "/dev/disk/by-label/NIXOS_SD";
|
system.stateVersion = "23.11";
|
||||||
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";
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
296
users/tao.nix
296
users/tao.nix
|
|
@ -1,162 +1,162 @@
|
||||||
{
|
{
|
||||||
inputs,
|
inputs,
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
users.users.tao.packages = with pkgs; [
|
users.users.tao.packages = with pkgs; [
|
||||||
# boxxy
|
# boxxy
|
||||||
calibre
|
calibre
|
||||||
# carapace
|
# carapace
|
||||||
# cloud-hypervisor
|
# cloud-hypervisor
|
||||||
# davinci-resolve
|
# davinci-resolve
|
||||||
# fractal
|
# fractal
|
||||||
# freerdp
|
# freerdp
|
||||||
# inputs.plasma-manager.packages.${pkgs.system}.default
|
# inputs.plasma-manager.packages.${pkgs.system}.default
|
||||||
# jellyfin-mpv-shim
|
# jellyfin-mpv-shim
|
||||||
# libsForQt5.kcharselect
|
# libsForQt5.kcharselect
|
||||||
# mendeley
|
# mendeley
|
||||||
# piper
|
# piper
|
||||||
# slack
|
# slack
|
||||||
# tectonic
|
# tectonic
|
||||||
# texlab
|
# texlab
|
||||||
# thunderbird
|
# thunderbird
|
||||||
# wkhtmltopdf
|
# wkhtmltopdf
|
||||||
appimage-run
|
appimage-run
|
||||||
aspell
|
aspell
|
||||||
aspellDicts.en
|
aspellDicts.en
|
||||||
bottles
|
bottles
|
||||||
darktable
|
darktable
|
||||||
deluge
|
deluge
|
||||||
discord
|
discord
|
||||||
freecad-wayland
|
freecad-wayland
|
||||||
gocryptfs
|
gocryptfs
|
||||||
gurk-rs
|
gurk-rs
|
||||||
jellyfin-media-player
|
jellyfin-media-player
|
||||||
# kdePackages.plasma-vault
|
# kdePackages.plasma-vault
|
||||||
keepassxc
|
keepassxc
|
||||||
# leetcode-cli
|
# leetcode-cli
|
||||||
man-pages
|
man-pages
|
||||||
man-pages-posix
|
man-pages-posix
|
||||||
miniserve
|
miniserve
|
||||||
mousai
|
mousai
|
||||||
nix-output-monitor
|
nix-output-monitor
|
||||||
nixos-anywhere
|
nixos-anywhere
|
||||||
nufmt
|
nufmt
|
||||||
nushell
|
nushell
|
||||||
nvd
|
nvd
|
||||||
obs-studio
|
obs-studio
|
||||||
oculante
|
oculante
|
||||||
onlyoffice-bin
|
onlyoffice-bin
|
||||||
pandoc
|
pandoc
|
||||||
pipe-rename
|
pipe-rename
|
||||||
prusa-slicer
|
prusa-slicer
|
||||||
qmk
|
qmk
|
||||||
qmk-udev-rules
|
qmk-udev-rules
|
||||||
qmk_hid
|
qmk_hid
|
||||||
ripgrep-all
|
ripgrep-all
|
||||||
signal-desktop
|
signal-desktop
|
||||||
slack
|
slack
|
||||||
snapper
|
snapper
|
||||||
starship
|
starship
|
||||||
syncthingtray
|
syncthingtray
|
||||||
taskwarrior3
|
taskwarrior3
|
||||||
tinymist
|
tinymist
|
||||||
toastify
|
toastify
|
||||||
typst
|
typst
|
||||||
usbutils
|
usbutils
|
||||||
vial
|
vial
|
||||||
wezterm
|
wezterm
|
||||||
wl-clipboard-rs
|
wl-clipboard-rs
|
||||||
yt-dlp
|
yt-dlp
|
||||||
zathura
|
zathura
|
||||||
zellij
|
zellij
|
||||||
zoom-us
|
zoom-us
|
||||||
zoxide
|
zoxide
|
||||||
];
|
];
|
||||||
programs.adb.enable = true;
|
programs.adb.enable = true;
|
||||||
programs.kdeconnect.enable = true;
|
programs.kdeconnect.enable = true;
|
||||||
environment.shells = with pkgs; [nushell];
|
environment.shells = with pkgs; [nushell];
|
||||||
|
|
||||||
# virtualisation.libvirtd.enable = true;
|
# virtualisation.libvirtd.enable = true;
|
||||||
# virtualisation.libvirtd.qemu.swtpm.enable = true;
|
# virtualisation.libvirtd.qemu.swtpm.enable = true;
|
||||||
# virtualisation.spiceUSBRedirection.enable = true;
|
# virtualisation.spiceUSBRedirection.enable = true;
|
||||||
# programs.virt-manager.enable = true;
|
# programs.virt-manager.enable = true;
|
||||||
|
|
||||||
# virtualisation.virtualbox.host = {
|
# virtualisation.virtualbox.host = {
|
||||||
# enable = true;
|
# enable = true;
|
||||||
# enableExtensionPack = true;
|
# enableExtensionPack = true;
|
||||||
# };
|
# };
|
||||||
|
|
||||||
# nixpkgs.overlays = [
|
# nixpkgs.overlays = [
|
||||||
# (final: prev: {
|
# (final: prev: {
|
||||||
# options.services.snapper.configs = prev.options.services.snapper.configs.overrideAttrs (old: {
|
# options.services.snapper.configs = prev.options.services.snapper.configs.overrideAttrs (old: {
|
||||||
# configOptions.FSTYPE = lib.mkOption {
|
# configOptions.FSTYPE = lib.mkOption {
|
||||||
# type = lib.types.enum ["btrfs" "bcachefs"];
|
# type = lib.types.enum ["btrfs" "bcachefs"];
|
||||||
# };
|
# };
|
||||||
# });
|
# });
|
||||||
# })
|
# })
|
||||||
# ];
|
# ];
|
||||||
|
|
||||||
disabledModules = ["services/misc/snapper.nix"];
|
disabledModules = ["services/misc/snapper.nix"];
|
||||||
imports = [../extras/snapper.nix];
|
imports = [../extras/snapper.nix];
|
||||||
services.snapper.configs = {
|
services.snapper.configs = {
|
||||||
home = {
|
home = {
|
||||||
SUBVOLUME = "/home";
|
SUBVOLUME = "/home";
|
||||||
# FSTYPE = "bcachefs";
|
# FSTYPE = "bcachefs";
|
||||||
FSTYPE =
|
FSTYPE =
|
||||||
if lib.strings.hasPrefix "NOlaptop" (builtins.readFile /etc/hostname)
|
if lib.strings.hasPrefix "NOlaptop" (builtins.readFile /etc/hostname)
|
||||||
then "bcachefs"
|
then "bcachefs"
|
||||||
else "btrfs";
|
else "btrfs";
|
||||||
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;
|
||||||
TIMELINE_LIMIT_DAILY = 7;
|
TIMELINE_LIMIT_DAILY = 7;
|
||||||
};
|
|
||||||
};
|
};
|
||||||
services.snapper.snapshotInterval = "*:0/5";
|
};
|
||||||
|
services.snapper.snapshotInterval = "*:0/5";
|
||||||
|
|
||||||
hardware.keyboard.qmk.enable = true;
|
hardware.keyboard.qmk.enable = true;
|
||||||
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"
|
||||||
'';
|
'';
|
||||||
# services.ratbagd.enable = true;
|
# services.ratbagd.enable = true;
|
||||||
|
|
||||||
boot.extraModulePackages = with config.boot.kernelPackages; [
|
boot.extraModulePackages = with config.boot.kernelPackages; [
|
||||||
v4l2loopback
|
v4l2loopback
|
||||||
];
|
];
|
||||||
boot.extraModprobeConfig = ''
|
boot.extraModprobeConfig = ''
|
||||||
options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1
|
options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1
|
||||||
'';
|
'';
|
||||||
|
|
||||||
fonts.packages = with pkgs; [
|
fonts.packages = with pkgs; [
|
||||||
# (nerdfonts.override {fonts = ["FiraCode"];})
|
# (nerdfonts.override {fonts = ["FiraCode"];})
|
||||||
nerd-fonts.fira-code
|
nerd-fonts.fira-code
|
||||||
noto-fonts-cjk-sans
|
noto-fonts-cjk-sans
|
||||||
noto-fonts-cjk-serif
|
noto-fonts-cjk-serif
|
||||||
noto-fonts-color-emoji
|
noto-fonts-color-emoji
|
||||||
ibm-plex
|
ibm-plex
|
||||||
cooper-hewitt
|
cooper-hewitt
|
||||||
];
|
];
|
||||||
|
|
||||||
documentation.enable = true;
|
documentation.enable = true;
|
||||||
|
|
||||||
# age.secrets.password-tao.file = ../secrets/syncthing-uwuraid.age;
|
# age.secrets.password-tao.file = ../secrets/syncthing-uwuraid.age;
|
||||||
users.users.tao = {
|
users.users.tao = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
# hashedPasswordFile = config.age.secrets.password-tao.path;
|
# hashedPasswordFile = config.age.secrets.password-tao.path;
|
||||||
extraGroups = ["audio" "video" "wheel" "libvirtd" "dialout" "game"];
|
extraGroups = ["audio" "video" "wheel" "libvirtd" "dialout" "game"];
|
||||||
shell = pkgs.nushell;
|
shell = pkgs.nushell;
|
||||||
};
|
};
|
||||||
|
|
||||||
age.secrets.syncthing-NOcomputer.file = ../secrets/syncthing-NOcomputer.age;
|
age.secrets.syncthing-NOcomputer.file = ../secrets/syncthing-NOcomputer.age;
|
||||||
age.secrets.syncthing-NOlaptop.file = ../secrets/syncthing-NOlaptop.age;
|
age.secrets.syncthing-NOlaptop.file = ../secrets/syncthing-NOlaptop.age;
|
||||||
age.secrets.syncthing-uwuraid.file = ../secrets/syncthing-uwuraid.age;
|
age.secrets.syncthing-uwuraid.file = ../secrets/syncthing-uwuraid.age;
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = 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 lib config;};
|
home-manager.users.tao = import ./tao/HOME.nix {inherit inputs pkgs lib config;};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue