More cleanup
This commit is contained in:
parent
a8c0774435
commit
98f36353f4
24 changed files with 19 additions and 733 deletions
|
@ -1,9 +0,0 @@
|
||||||
{
|
|
||||||
# enable mDNS and discovery
|
|
||||||
services.avahi = {
|
|
||||||
enable = true;
|
|
||||||
reflector = true;
|
|
||||||
openFirewall = true;
|
|
||||||
nssmdns4 = true;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,156 +0,0 @@
|
||||||
{
|
|
||||||
overlays,
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
colors,
|
|
||||||
sops-nix,
|
|
||||||
home-manager,
|
|
||||||
disko,
|
|
||||||
modulesPath,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (pkgs) system;
|
|
||||||
in {
|
|
||||||
users.groups.valerie = {};
|
|
||||||
users.groups.daniel = {};
|
|
||||||
|
|
||||||
users.users = {
|
|
||||||
daniel = {
|
|
||||||
isNormalUser = true;
|
|
||||||
home = "/home/daniel/.home";
|
|
||||||
createHome = true;
|
|
||||||
openssh.authorizedKeys.keys = [
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAPLXOjupz3ScYjgrF+ehrbp9OvGAWQLI6fplX6w9Ijb daniel@lyte.dev"
|
|
||||||
];
|
|
||||||
group = "daniel";
|
|
||||||
extraGroups = ["users" "wheel" "video" "dialout" "uucp"];
|
|
||||||
packages = [];
|
|
||||||
};
|
|
||||||
|
|
||||||
valerie = {
|
|
||||||
isNormalUser = true;
|
|
||||||
home = "/home/valerie";
|
|
||||||
createHome = true;
|
|
||||||
openssh.authorizedKeys.keys = [
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAPLXOjupz3ScYjgrF+ehrbp9OvGAWQLI6fplX6w9Ijb daniel@lyte.dev"
|
|
||||||
];
|
|
||||||
group = "valerie";
|
|
||||||
extraGroups = ["users" "video"];
|
|
||||||
packages = [];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs = {
|
|
||||||
fish = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
tmux = {
|
|
||||||
enable = true;
|
|
||||||
clock24 = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
traceroute.enable = true;
|
|
||||||
|
|
||||||
git = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.gitFull;
|
|
||||||
|
|
||||||
lfs = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# https://github.com/nix-community/home-manager/issues/3113
|
|
||||||
dconf.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
time = {
|
|
||||||
timeZone = "America/Chicago";
|
|
||||||
};
|
|
||||||
|
|
||||||
users = {
|
|
||||||
defaultUserShell = pkgs.fish;
|
|
||||||
};
|
|
||||||
|
|
||||||
# TODO: should not be in common?
|
|
||||||
# services.udev.extraRules = ''
|
|
||||||
# # https://betaflight.com/docs/wiki/archive/Installing-Betaflight#step-1
|
|
||||||
# # ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="2e3c", ATTRS{idProduct}=="df11", MODE="0664", GROUP="uucp"
|
|
||||||
# # ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE="0664", GROUP="uucp"'
|
|
||||||
# '';
|
|
||||||
|
|
||||||
nixpkgs = {
|
|
||||||
# You can add overlays here
|
|
||||||
overlays = [
|
|
||||||
# Add overlays your own flake exports (from overlays and pkgs dir):
|
|
||||||
overlays.additions
|
|
||||||
overlays.modifications
|
|
||||||
overlays.unstable-packages
|
|
||||||
|
|
||||||
# You can also add overlays exported from other flakes:
|
|
||||||
# neovim-nightly-overlay.overlays.default
|
|
||||||
|
|
||||||
# Or define it inline, for example:
|
|
||||||
# (final: prev: {
|
|
||||||
# hi = final.hello.overrideAttrs (oldAttrs: {
|
|
||||||
# patches = [ ./change-hello-to-hi.patch ];
|
|
||||||
# });
|
|
||||||
# })
|
|
||||||
];
|
|
||||||
# Configure your nixpkgs instance
|
|
||||||
config = {
|
|
||||||
# Disable if you don't want unfree packages
|
|
||||||
allowUnfree = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
nix = {
|
|
||||||
# This will additionally add your inputs to the system's legacy channels
|
|
||||||
# Making legacy nix commands consistent as well, awesome!
|
|
||||||
# Not sure why I would need this...
|
|
||||||
# nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry;
|
|
||||||
|
|
||||||
# This will add each flake input as a registry
|
|
||||||
# To make nix3 commands consistent with your flake
|
|
||||||
# registry = lib.mapAttrs (_: value: {flake = value;}) inputs;
|
|
||||||
|
|
||||||
settings = {
|
|
||||||
trusted-users = ["root" "daniel"];
|
|
||||||
|
|
||||||
experimental-features = lib.mkDefault ["nix-command" "flakes"];
|
|
||||||
|
|
||||||
substituters = [
|
|
||||||
"https://cache.nixos.org/"
|
|
||||||
"https://helix.cachix.org"
|
|
||||||
"https://nix-community.cachix.org"
|
|
||||||
"https://nix.h.lyte.dev"
|
|
||||||
];
|
|
||||||
|
|
||||||
trusted-public-keys = [
|
|
||||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
|
||||||
"helix.cachix.org-1:ejp9KQpR1FBI2onstMQ34yogDm4OgU2ru6lIwPvuCVs="
|
|
||||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
|
||||||
"h.lyte.dev:HeVWtne31ZG8iMf+c15VY3/Mky/4ufXlfTpT8+4Xbs0="
|
|
||||||
];
|
|
||||||
|
|
||||||
auto-optimise-store = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
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"
|
|
||||||
'';
|
|
||||||
|
|
||||||
# # TODO: regular cron or something?
|
|
||||||
# programs.nix-index = {
|
|
||||||
# enable = true;
|
|
||||||
# # enableFishIntegration = true;
|
|
||||||
# };
|
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
|
||||||
|
|
||||||
system.stateVersion = lib.mkDefault "23.11";
|
|
||||||
}
|
|
|
@ -1,50 +0,0 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
inputs,
|
|
||||||
outputs,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (pkgs) system;
|
|
||||||
in {
|
|
||||||
# TODO: fonts? right now they are only handled at the nixos-level (desktop-usage module)
|
|
||||||
# TODO: wallpaper?
|
|
||||||
|
|
||||||
home-manager = {
|
|
||||||
extraSpecialArgs = {
|
|
||||||
inherit inputs outputs system;
|
|
||||||
inherit (outputs) colors font;
|
|
||||||
};
|
|
||||||
users.daniel = {
|
|
||||||
accounts.email.accounts = {
|
|
||||||
primary = {
|
|
||||||
primary = true;
|
|
||||||
address = "daniel@lyte.dev";
|
|
||||||
};
|
|
||||||
legacy = {
|
|
||||||
address = "wraithx2@gmail.com";
|
|
||||||
};
|
|
||||||
io = {
|
|
||||||
# TODO: finalize deprecation
|
|
||||||
address = "daniel@lytedev.io";
|
|
||||||
};
|
|
||||||
# TODO: may need to use a sops secret? put in another module?
|
|
||||||
# work = {
|
|
||||||
# address = "REDACTED";
|
|
||||||
# };
|
|
||||||
};
|
|
||||||
|
|
||||||
home = {
|
|
||||||
username = "daniel";
|
|
||||||
homeDirectory = "/home/daniel/.home";
|
|
||||||
};
|
|
||||||
|
|
||||||
imports = with outputs.homeManagerModules; [
|
|
||||||
common
|
|
||||||
gnome
|
|
||||||
senpai
|
|
||||||
iex
|
|
||||||
cargo
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -383,6 +383,10 @@
|
||||||
services.desktopManager.plasma6.enable = true;
|
services.desktopManager.plasma6.enable = true;
|
||||||
programs.dconf.enable = true;
|
programs.dconf.enable = true;
|
||||||
|
|
||||||
|
services.xrdp.enable = true;
|
||||||
|
services.xrdp.defaultWindowManager = "plasma";
|
||||||
|
services.xrdp.openFirewall = false;
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
inkscape
|
inkscape
|
||||||
|
@ -391,24 +395,24 @@
|
||||||
vlc
|
vlc
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
|
|
||||||
libsForQt5.qt5.qtvirtualkeyboard
|
kdePackages.qtvirtualkeyboard
|
||||||
maliit-keyboard
|
maliit-keyboard
|
||||||
maliit-framework
|
maliit-framework
|
||||||
|
|
||||||
libsForQt5.kate
|
kdePackages.kate
|
||||||
# libsForQt5.kdenlive
|
# kdePackages.kdenlive
|
||||||
# libsForQt5.merkuro
|
# kdePackages.merkuro
|
||||||
libsForQt5.kcalc
|
kdePackages.kcalc
|
||||||
# libsForQt5.neochat
|
# kdePackages.neochat
|
||||||
libsForQt5.filelight
|
kdePackages.filelight
|
||||||
libsForQt5.krdc
|
kdePackages.krdc
|
||||||
libsForQt5.krfb
|
kdePackages.krfb
|
||||||
libsForQt5.kclock
|
kdePackages.kclock
|
||||||
libsForQt5.kweather
|
kdePackages.kweather
|
||||||
libsForQt5.ktorrent
|
kdePackages.ktorrent
|
||||||
# libsForQt5.kdevelop
|
# kdePackages.kdevelop
|
||||||
# libsForQt5.kdialog
|
# kdePackages.kdialog
|
||||||
libsForQt5.kdeplasma-addons
|
kdePackages.kdeplasma-addons
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.gnupg.agent = {
|
programs.gnupg.agent = {
|
||||||
|
|
|
@ -1,35 +0,0 @@
|
||||||
{pkgs, ...}: {
|
|
||||||
imports = [
|
|
||||||
./sway.nix
|
|
||||||
# ./hyprland.nix
|
|
||||||
./kde-plasma.nix
|
|
||||||
./fonts.nix
|
|
||||||
./user-installed-applications.nix
|
|
||||||
./kde-connect.nix
|
|
||||||
./troubleshooting-tools.nix
|
|
||||||
./development-tools.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
environment = {
|
|
||||||
variables = {
|
|
||||||
GTK_THEME = "Catppuccin-Mocha-Compact-Sapphire-Dark";
|
|
||||||
GTK_USE_PORTAL = "1";
|
|
||||||
};
|
|
||||||
|
|
||||||
systemPackages = with pkgs; [
|
|
||||||
marksman
|
|
||||||
markdown-oxide
|
|
||||||
gnupg
|
|
||||||
pinentry-tty
|
|
||||||
pinentry-curses
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
hardware = {
|
|
||||||
opengl = {
|
|
||||||
enable = true;
|
|
||||||
driSupport32Bit = true;
|
|
||||||
driSupport = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,78 +0,0 @@
|
||||||
{pkgs, ...}: {
|
|
||||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
|
||||||
programs.neovim = {
|
|
||||||
enable = true;
|
|
||||||
# plugins = [
|
|
||||||
# pkgs.vimPlugins.nvim-treesitter.withAllGrammars
|
|
||||||
# ];
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
taplo # toml language server for editing helix configs per repo
|
|
||||||
pgcli
|
|
||||||
oil
|
|
||||||
watchexec
|
|
||||||
android-tools
|
|
||||||
kubectl
|
|
||||||
stern
|
|
||||||
libresprite
|
|
||||||
logseq
|
|
||||||
audacity
|
|
||||||
wol
|
|
||||||
shellcheck
|
|
||||||
skim
|
|
||||||
gron
|
|
||||||
shfmt
|
|
||||||
vscode-langservers-extracted
|
|
||||||
nodePackages.bash-language-server
|
|
||||||
nodePackages.yaml-language-server
|
|
||||||
xh
|
|
||||||
curl
|
|
||||||
google-chrome
|
|
||||||
];
|
|
||||||
|
|
||||||
services.udev.packages = with pkgs; [
|
|
||||||
platformio
|
|
||||||
openocd
|
|
||||||
via
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.adb.enable = true;
|
|
||||||
users.users.daniel.extraGroups = ["adbusers"];
|
|
||||||
|
|
||||||
home-manager.users.daniel = {
|
|
||||||
home = {
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.nushell = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.jujutsu = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.k9s = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.vscode = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.jq = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.chromium = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.btop = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.btop.override {
|
|
||||||
rocmSupport = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,17 +0,0 @@
|
||||||
{...}: {
|
|
||||||
users.groups.flanfam = {};
|
|
||||||
|
|
||||||
users.users = {
|
|
||||||
flanfam = {
|
|
||||||
isNormalUser = true;
|
|
||||||
home = "/home/flanfam";
|
|
||||||
createHome = true;
|
|
||||||
openssh.authorizedKeys.keys = [
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAPLXOjupz3ScYjgrF+ehrbp9OvGAWQLI6fplX6w9Ijb daniel@lyte.dev"
|
|
||||||
];
|
|
||||||
group = "flanfam";
|
|
||||||
extraGroups = ["users" "video"];
|
|
||||||
packages = [];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,17 +0,0 @@
|
||||||
{...}: {
|
|
||||||
users.groups.flanfamkiosk = {};
|
|
||||||
|
|
||||||
users.users = {
|
|
||||||
flanfamkiosk = {
|
|
||||||
isNormalUser = true;
|
|
||||||
home = "/home/flanfamkiosk";
|
|
||||||
createHome = true;
|
|
||||||
openssh.authorizedKeys.keys = [
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAPLXOjupz3ScYjgrF+ehrbp9OvGAWQLI6fplX6w9Ijb daniel@lyte.dev"
|
|
||||||
];
|
|
||||||
group = "flanfamkiosk";
|
|
||||||
extraGroups = ["users" "video"];
|
|
||||||
packages = [];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
{pkgs, ...}: {
|
|
||||||
fonts.packages = with pkgs; [
|
|
||||||
(nerdfonts.override {fonts = ["NerdFontsSymbolsOnly"];})
|
|
||||||
pkgs.iosevkaLyteTerm
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,25 +0,0 @@
|
||||||
{
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
nixpkgs.config = {
|
|
||||||
packageOverrides = pkgs: {
|
|
||||||
vaapiIntel = pkgs.vaapiIntel.override {enableHybridCodec = true;};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
hardware = {
|
|
||||||
cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
|
||||||
|
|
||||||
opengl = {
|
|
||||||
extraPackages = with pkgs; [
|
|
||||||
intel-media-driver # LIBVA_DRIVER_NAME=iHD
|
|
||||||
vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium)
|
|
||||||
vaapiVdpau
|
|
||||||
libvdpau-va-gl
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,20 +0,0 @@
|
||||||
{
|
|
||||||
programs.kdeconnect = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
networking.firewall = {
|
|
||||||
allowedTCPPortRanges = [
|
|
||||||
{
|
|
||||||
from = 1714;
|
|
||||||
to = 1764;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
allowedUDPPortRanges = [
|
|
||||||
{
|
|
||||||
from = 1714;
|
|
||||||
to = 1764;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,52 +0,0 @@
|
||||||
{pkgs, ...}: {
|
|
||||||
imports = [./pipewire.nix];
|
|
||||||
|
|
||||||
# NOTE: Plasma and Kitty seem to have some weird interactions where
|
|
||||||
# occasionally, kitty's window will try to move or resize and crash the
|
|
||||||
# compositor. Plasma recovers, but the Kitty window is quite dead and gone.
|
|
||||||
# This has lost me a few minutes' work when I have not saved a file while
|
|
||||||
# typing and I go to resize kitty and crash loses my work.
|
|
||||||
# It is entirely possible that this is due to my configuration, though, and
|
|
||||||
# not the fault of the applications themselves!
|
|
||||||
# https://www.reddit.com/r/kde/comments/ohiwqf/kitty_crashes_plasma_wayland_session/
|
|
||||||
# https://gitlab.archlinux.org/archlinux/packaging/packages/kitty/-/issues/3
|
|
||||||
|
|
||||||
# NOTE: I'm switching to wezterm. Will this solve my issue?
|
|
||||||
# Update: seems so?
|
|
||||||
|
|
||||||
services.desktopManager.plasma6.enable = true;
|
|
||||||
services.displayManager.sddm.enable = true;
|
|
||||||
services.displayManager.sddm.wayland.enable = true;
|
|
||||||
services.xserver.enable = true;
|
|
||||||
qt.enable = true;
|
|
||||||
programs.dconf.enable = true;
|
|
||||||
services.dbus.enable = true;
|
|
||||||
|
|
||||||
environment = {
|
|
||||||
systemPackages = with pkgs; [
|
|
||||||
inkscape
|
|
||||||
krita
|
|
||||||
noto-fonts
|
|
||||||
vlc
|
|
||||||
wl-clipboard
|
|
||||||
|
|
||||||
libsForQt5.qt5.qtvirtualkeyboard
|
|
||||||
maliit-keyboard
|
|
||||||
maliit-framework
|
|
||||||
# libsForQt5.kate
|
|
||||||
# libsForQt5.kdenlive
|
|
||||||
# libsForQt5.merkuro
|
|
||||||
# libsForQt5.kcalc
|
|
||||||
# libsForQt5.neochat
|
|
||||||
# libsForQt5.filelight
|
|
||||||
# libsForQt5.krdc
|
|
||||||
# libsForQt5.krfb
|
|
||||||
# libsForQt5.kclock
|
|
||||||
# libsForQt5.kweather
|
|
||||||
# libsForQt5.ktorrent
|
|
||||||
# libsForQt5.kdevelop
|
|
||||||
# libsForQt5.kdialog
|
|
||||||
# libsForQt5.kdeplasma-addons
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,9 +0,0 @@
|
||||||
{pkgs, ...}: {
|
|
||||||
environment = {
|
|
||||||
systemPackages = with pkgs; [
|
|
||||||
wineWowPackages.waylandFull
|
|
||||||
lutris
|
|
||||||
winetricks
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,19 +0,0 @@
|
||||||
{pkgs, ...}: {
|
|
||||||
# TODO: may want to force nixpkgs-stable for a more-stable music production
|
|
||||||
# environment?
|
|
||||||
imports = [
|
|
||||||
{
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
helvum # pipewire graph/patchbay GUI
|
|
||||||
ardour # DAW
|
|
||||||
helm # synth
|
|
||||||
];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
# TODO: things to look into for music production:
|
|
||||||
# - https://linuxmusicians.com/viewtopic.php?t=27016
|
|
||||||
# - KXStudio?
|
|
||||||
# - falktx (https://github.com/DISTRHO/Cardinal)
|
|
||||||
# -
|
|
||||||
}
|
|
|
@ -1,16 +0,0 @@
|
||||||
{
|
|
||||||
services.pipewire.extraConfig = {
|
|
||||||
# "pipewire/pipewire.conf.d/92-low-latency.conf".text = ''
|
|
||||||
# context.properties = {
|
|
||||||
# default.clock.rate = 48000
|
|
||||||
# default.clock.quantum = 128
|
|
||||||
# default.clock.min-quantum = 128
|
|
||||||
# default.clock.max-quantum = 128
|
|
||||||
# }
|
|
||||||
|
|
||||||
# jack.properties = {
|
|
||||||
# node.latency = 128/48000
|
|
||||||
# }
|
|
||||||
# '';
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,29 +0,0 @@
|
||||||
{...}: {
|
|
||||||
sound.enable = true;
|
|
||||||
|
|
||||||
services.pipewire = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
wireplumber.enable = true;
|
|
||||||
pulse.enable = true;
|
|
||||||
jack.enable = true;
|
|
||||||
|
|
||||||
alsa = {
|
|
||||||
enable = true;
|
|
||||||
support32Bit = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
hardware = {
|
|
||||||
pulseaudio = {
|
|
||||||
enable = false;
|
|
||||||
support32Bit = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
security = {
|
|
||||||
# I forget why I need these exactly...
|
|
||||||
polkit.enable = true;
|
|
||||||
rtkit.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,23 +0,0 @@
|
||||||
{pkgs, ...}: {
|
|
||||||
environment = {
|
|
||||||
systemPackages = with pkgs; [
|
|
||||||
podman-compose
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
virtualisation = {
|
|
||||||
podman = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
# Create a `docker` alias for podman, to use it as a drop-in replacement
|
|
||||||
dockerCompat = true;
|
|
||||||
|
|
||||||
# Required for containers under podman-compose to be able to talk to each other.
|
|
||||||
defaultNetwork.settings.dns_enabled = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
oci-containers = {
|
|
||||||
backend = "podman";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,43 +0,0 @@
|
||||||
{pkgs, ...}: {
|
|
||||||
# this is really just for development usage
|
|
||||||
services.postgresql = {
|
|
||||||
enable = true;
|
|
||||||
ensureDatabases = ["daniel"];
|
|
||||||
ensureUsers = [
|
|
||||||
{
|
|
||||||
name = "daniel";
|
|
||||||
ensureDBOwnership = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
# enableTCPIP = true;
|
|
||||||
|
|
||||||
package = pkgs.postgresql_15;
|
|
||||||
|
|
||||||
authentication = pkgs.lib.mkOverride 10 ''
|
|
||||||
#type database DBuser auth-method
|
|
||||||
local all postgres peer map=superuser_map
|
|
||||||
local all daniel peer map=superuser_map
|
|
||||||
local sameuser all peer map=superuser_map
|
|
||||||
|
|
||||||
# lan ipv4
|
|
||||||
host all all 10.0.0.0/24 trust
|
|
||||||
host all all 127.0.0.1/32 trust
|
|
||||||
|
|
||||||
# tailnet ipv4
|
|
||||||
host all all 100.64.0.0/10 trust
|
|
||||||
'';
|
|
||||||
|
|
||||||
identMap = ''
|
|
||||||
# ArbitraryMapName systemUser DBUser
|
|
||||||
superuser_map root postgres
|
|
||||||
superuser_map postgres postgres
|
|
||||||
superuser_map daniel postgres
|
|
||||||
|
|
||||||
superuser_map /^(.*)$ \1 # Let other names login as themselves
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
pgcli
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,13 +0,0 @@
|
||||||
{pkgs, ...}: {
|
|
||||||
services.printing.enable = true;
|
|
||||||
services.printing.browsing = true;
|
|
||||||
services.printing.browsedConf = ''
|
|
||||||
BrowseDNSSDSubTypes _cups,_print
|
|
||||||
BrowseLocalProtocols all
|
|
||||||
BrowseRemoteProtocols all
|
|
||||||
CreateIPPPrinterQueues All
|
|
||||||
|
|
||||||
BrowseProtocols all
|
|
||||||
'';
|
|
||||||
services.printing.drivers = [pkgs.gutenprint];
|
|
||||||
}
|
|
|
@ -1,44 +0,0 @@
|
||||||
{pkgs, ...}: {
|
|
||||||
programs.gamescope.enable = true;
|
|
||||||
|
|
||||||
programs.steam = {
|
|
||||||
enable = true;
|
|
||||||
extest.enable = true;
|
|
||||||
gamescopeSession.enable = true;
|
|
||||||
|
|
||||||
extraPackages = with pkgs; [
|
|
||||||
gamescope
|
|
||||||
];
|
|
||||||
|
|
||||||
extraCompatPackages = with pkgs; [
|
|
||||||
proton-ge-bin
|
|
||||||
];
|
|
||||||
|
|
||||||
localNetworkGameTransfers.openFirewall = true;
|
|
||||||
remotePlay.openFirewall = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
hardware.steam-hardware.enable = true;
|
|
||||||
services.udev.packages = with pkgs; [steam];
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
dualsensectl
|
|
||||||
];
|
|
||||||
|
|
||||||
# TODO: remote play ports - should be unnecessary due to
|
|
||||||
# programs.steam.remotePlay.openFirewall = true;
|
|
||||||
networking.firewall.allowedUDPPortRanges = [
|
|
||||||
# UDP 27031, 27036
|
|
||||||
{
|
|
||||||
from = 27031;
|
|
||||||
to = 27036;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
networking.firewall.allowedTCPPortRanges = [
|
|
||||||
# TCP 27036, 27037
|
|
||||||
{
|
|
||||||
from = 27036;
|
|
||||||
to = 27037;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,11 +0,0 @@
|
||||||
{pkgs, ...}: {
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
pciutils
|
|
||||||
usbutils
|
|
||||||
htop
|
|
||||||
bottom
|
|
||||||
nmap
|
|
||||||
dogdns
|
|
||||||
dnsutils
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,4 +0,0 @@
|
||||||
{pkgs, ...}: {
|
|
||||||
services.flatpak.enable = true;
|
|
||||||
programs.appimage.binfmt = true;
|
|
||||||
}
|
|
|
@ -1,32 +0,0 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
inputs,
|
|
||||||
outputs,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (pkgs) system;
|
|
||||||
in {
|
|
||||||
home-manager = {
|
|
||||||
extraSpecialArgs = {
|
|
||||||
inherit inputs outputs system;
|
|
||||||
inherit (outputs) colors font;
|
|
||||||
};
|
|
||||||
users.valerie = {
|
|
||||||
# accounts.email.accounts = {
|
|
||||||
# primary = {
|
|
||||||
# primary = true;
|
|
||||||
# address = "";
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
|
|
||||||
home = {
|
|
||||||
username = "valerie";
|
|
||||||
homeDirectory = "/home/valerie";
|
|
||||||
};
|
|
||||||
|
|
||||||
imports = with outputs.homeManagerModules; [
|
|
||||||
common
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,10 +0,0 @@
|
||||||
{lib, ...}: let
|
|
||||||
inherit (lib) mkDefault;
|
|
||||||
in {
|
|
||||||
networking.networkmanager.enable = mkDefault true;
|
|
||||||
systemd.services.NetworkManager-wait-online.enable = mkDefault false;
|
|
||||||
|
|
||||||
# TODO: networking.networkmanager.wifi.backend = "iwd"; ?
|
|
||||||
# TODO: powersave?
|
|
||||||
# TODO: can I pre-configure my usual wifi networks with SSIDs and PSKs loaded from secrets?
|
|
||||||
}
|
|
Loading…
Reference in a new issue