This commit is contained in:
parent
0bc0ba43a2
commit
a59d571b31
10 changed files with 169 additions and 192 deletions
|
@ -15,8 +15,6 @@ rec {
|
||||||
"x86_64-linux"
|
"x86_64-linux"
|
||||||
];
|
];
|
||||||
forSystems = nixpkgs: nixpkgs.lib.genAttrs systems;
|
forSystems = nixpkgs: nixpkgs.lib.genAttrs systems;
|
||||||
pkgsFor =
|
pkgsFor = nixpkgs: system: (import nixpkgs { inherit system; }).extend forSelfOverlay;
|
||||||
nixpkgs: system:
|
|
||||||
(import nixpkgs { inherit system; }).extend (builtins.trace forSelfOverlay forSelfOverlay);
|
|
||||||
genPkgs = nixpkgs: func: (forSystems nixpkgs (system: func (pkgsFor nixpkgs system)));
|
genPkgs = nixpkgs: func: (forSystems nixpkgs (system: func (pkgsFor nixpkgs system)));
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,20 +14,19 @@ in
|
||||||
{
|
{
|
||||||
imports = with homeManagerModules; [
|
imports = with homeManagerModules; [
|
||||||
slippi.homeManagerModules.default
|
slippi.homeManagerModules.default
|
||||||
# nix-colors.homeManagerModules.default
|
fish
|
||||||
# fish
|
helix
|
||||||
# helix
|
git
|
||||||
# git
|
jujutsu
|
||||||
# jujutsu
|
zellij
|
||||||
# zellij
|
htop
|
||||||
# htop
|
linux
|
||||||
# linux
|
sshconfig
|
||||||
# sshconfig
|
senpai
|
||||||
# senpai
|
iex
|
||||||
# iex
|
helix
|
||||||
# helix
|
cargo
|
||||||
# cargo
|
desktop
|
||||||
# desktop
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
broot
|
broot
|
||||||
|
@ -39,7 +38,9 @@ in
|
||||||
options = {
|
options = {
|
||||||
lyte = {
|
lyte = {
|
||||||
shell = {
|
shell = {
|
||||||
enable = lib.mkEnableOption "Enable home-manager shell configuration for the user";
|
enable =
|
||||||
|
lib.mkEnableOption builtins.trace "looked at lyte options"
|
||||||
|
"Enable home-manager shell configuration for the user";
|
||||||
};
|
};
|
||||||
desktop = {
|
desktop = {
|
||||||
enable = lib.mkEnableOption "Enable home-manager desktop configuration for the user";
|
enable = lib.mkEnableOption "Enable home-manager desktop configuration for the user";
|
||||||
|
|
|
@ -15,21 +15,20 @@
|
||||||
{
|
{
|
||||||
imports = with self.outputs.nixosModules; [
|
imports = with self.outputs.nixosModules; [
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
# home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
sops-nix.nixosModules.sops
|
sops-nix.nixosModules.sops
|
||||||
disko.nixosModules.disko
|
disko.nixosModules.disko
|
||||||
slippi.nixosModules.default
|
slippi.nixosModules.default
|
||||||
# deno-netlify-ddns-client
|
deno-netlify-ddns-client
|
||||||
# shell-defaults-and-applications
|
shell-defaults-and-applications
|
||||||
|
desktop
|
||||||
# desktop
|
gnome
|
||||||
# wifi
|
wifi
|
||||||
# printing
|
printing
|
||||||
# podman
|
podman
|
||||||
# virtual-machines
|
virtual-machines
|
||||||
# postgres
|
postgres
|
||||||
# gaming
|
gaming
|
||||||
# daniel
|
|
||||||
];
|
];
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
|
@ -61,7 +60,7 @@
|
||||||
|
|
||||||
# TODO: for each non-system user on the machine?
|
# TODO: for each non-system user on the machine?
|
||||||
# home-manager = {
|
# home-manager = {
|
||||||
#
|
|
||||||
# useGlobalPkgs = lib.mkDefault true;
|
# useGlobalPkgs = lib.mkDefault true;
|
||||||
# backupFileExtension = lib.mkDefault "hm-backup";
|
# backupFileExtension = lib.mkDefault "hm-backup";
|
||||||
|
|
||||||
|
@ -188,5 +187,11 @@
|
||||||
];
|
];
|
||||||
packages = [ ];
|
packages = [ ];
|
||||||
};
|
};
|
||||||
|
home-manager.users.daniel = {
|
||||||
|
home.stateVersion = lib.mkDefault config.system.stateVersion;
|
||||||
|
imports = with self.outputs.homeManagerModules; [
|
||||||
|
default
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,6 @@ inputs: {
|
||||||
gnome = import ./gnome.nix;
|
gnome = import ./gnome.nix;
|
||||||
laptop = import ./laptop.nix;
|
laptop = import ./laptop.nix;
|
||||||
plasma6 = import ./plasma.nix;
|
plasma6 = import ./plasma.nix;
|
||||||
lutris = import ./lutris.nix;
|
|
||||||
gaming = import ./gaming.nix;
|
gaming = import ./gaming.nix;
|
||||||
pipewire = import ./pipewire.nix;
|
pipewire = import ./pipewire.nix;
|
||||||
podman = import ./podman.nix;
|
podman = import ./podman.nix;
|
||||||
|
@ -20,7 +19,6 @@ inputs: {
|
||||||
desktop = import ./desktop.nix;
|
desktop = import ./desktop.nix;
|
||||||
printing = import ./printing.nix;
|
printing = import ./printing.nix;
|
||||||
wifi = import ./wifi.nix;
|
wifi = import ./wifi.nix;
|
||||||
steam = import ./steam.nix;
|
|
||||||
|
|
||||||
remote-disk-key-entry-on-boot =
|
remote-disk-key-entry-on-boot =
|
||||||
{
|
{
|
||||||
|
|
|
@ -9,9 +9,6 @@ let
|
||||||
cfg = config.lyte.desktop;
|
cfg = config.lyte.desktop;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = with nixosModules; [
|
|
||||||
gnome
|
|
||||||
];
|
|
||||||
options = {
|
options = {
|
||||||
lyte = {
|
lyte = {
|
||||||
desktop = {
|
desktop = {
|
||||||
|
@ -20,7 +17,7 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
# services.xserver.desktopManager.gnome.enable = true;
|
services.xserver.desktopManager.gnome.enable = true;
|
||||||
|
|
||||||
fonts.packages = [
|
fonts.packages = [
|
||||||
(
|
(
|
||||||
|
|
|
@ -1,15 +1,69 @@
|
||||||
{ self, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
imports = with self.outputs.nixosModules; [
|
options,
|
||||||
lutris # TODO: use the flatpak?
|
pkgs,
|
||||||
steam # TODO: use the flatpak?
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
programs.gamescope.enable = true;
|
||||||
|
|
||||||
|
services.pipewire = {
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.steam = {
|
||||||
|
extest.enable = true;
|
||||||
|
gamescopeSession.enable = true;
|
||||||
|
|
||||||
|
extraPackages = with pkgs; [
|
||||||
|
gamescope
|
||||||
];
|
];
|
||||||
|
|
||||||
|
extraCompatPackages = with pkgs; [
|
||||||
|
proton-ge-bin
|
||||||
|
];
|
||||||
|
|
||||||
|
localNetworkGameTransfers.openFirewall = true;
|
||||||
|
remotePlay.openFirewall = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
hardware =
|
||||||
|
(
|
||||||
|
if builtins.hasAttr "graphics" options.hardware then
|
||||||
|
{
|
||||||
|
graphics = {
|
||||||
|
enable = true;
|
||||||
|
enable32Bit = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
opengl = {
|
||||||
|
enable = true;
|
||||||
|
driSupport32Bit = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
)
|
||||||
|
// {
|
||||||
|
steam-hardware.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.udev.packages = with pkgs; [ steam ];
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
systemPackages = with pkgs; [
|
systemPackages = with pkgs; [
|
||||||
|
dualsensectl # for interfacing with dualsense controllers programmatically
|
||||||
|
wineWowPackages.waylandFull
|
||||||
|
lutris
|
||||||
|
winetricks
|
||||||
ludusavi
|
ludusavi
|
||||||
# ludusavi uses rclone
|
# ludusavi uses rclone
|
||||||
rclone
|
rclone
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
# remote play ports - should be unnecessary due to programs.steam.remotePlay.openFirewall = true;
|
||||||
|
/*
|
||||||
|
networking.firewall.allowedUDPPortRanges = [ { from = 27031; to = 27036; } ];
|
||||||
|
networking.firewall.allowedTCPPortRanges = [ { from = 27036; to = 27037; } ];
|
||||||
|
*/
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,63 +2,50 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
options,
|
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
|
||||||
cfg = config.lyte.desktop;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
imports = with nixosModules; [
|
config = lib.mkIf config.services.postgresql.enable {
|
||||||
gnome
|
# this is really just for development usage
|
||||||
];
|
services.postgresql = {
|
||||||
options = {
|
# enable = true;
|
||||||
lyte = {
|
ensureDatabases = [ "daniel" ];
|
||||||
desktop = {
|
ensureUsers = [
|
||||||
enable = lib.mkEnableOption "Enable my default desktop configuration and applications";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
# services.xserver.desktopManager.gnome.enable = true;
|
|
||||||
|
|
||||||
fonts.packages = [
|
|
||||||
(
|
|
||||||
# allow nixpkgs 24.11 and unstable to both work
|
|
||||||
if builtins.hasAttr "nerd-fonts" pkgs then
|
|
||||||
(pkgs.nerd-fonts.symbols-only)
|
|
||||||
else
|
|
||||||
(pkgs.nerdfonts.override { fonts = [ "NerdFontsSymbolsOnly" ]; })
|
|
||||||
)
|
|
||||||
pkgs.iosevkaLyteTerm
|
|
||||||
];
|
|
||||||
|
|
||||||
xdg.portal.enable = true;
|
|
||||||
|
|
||||||
hardware =
|
|
||||||
if builtins.hasAttr "graphics" options.hardware then
|
|
||||||
{
|
{
|
||||||
graphics = {
|
name = "daniel";
|
||||||
enable = true;
|
ensureDBOwnership = true;
|
||||||
# enable32Bit = true;
|
|
||||||
/*
|
|
||||||
driSupport32Bit = true;
|
|
||||||
driSupport = true;
|
|
||||||
*/
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
else
|
];
|
||||||
{
|
# enableTCPIP = true;
|
||||||
opengl = {
|
|
||||||
enable = true;
|
package = pkgs.postgresql_15;
|
||||||
# driSupport32Bit = true;
|
|
||||||
driSupport = true;
|
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
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
services.flatpak.enable = true;
|
environment.systemPackages = with pkgs; [
|
||||||
programs.appimage.binfmt = true;
|
pgcli
|
||||||
services.printing.enable = true;
|
];
|
||||||
programs.virt-manager.enable = config.virtualisation.libvirtd.enable;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,12 +17,6 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
programs.eza = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
config.lyte.shell.enable = lib.mkDefault true;
|
|
||||||
|
|
||||||
programs.nix-index.enable = true;
|
programs.nix-index.enable = true;
|
||||||
programs.command-not-found.enable = false;
|
programs.command-not-found.enable = false;
|
||||||
users = {
|
users = {
|
||||||
|
|
|
@ -6,60 +6,5 @@
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
config = lib.mkIf config.programs.steam.enable {
|
config = lib.mkIf config.programs.steam.enable { };
|
||||||
programs.gamescope.enable = true;
|
|
||||||
|
|
||||||
services.pipewire = {
|
|
||||||
alsa.support32Bit = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.steam = {
|
|
||||||
extest.enable = true;
|
|
||||||
gamescopeSession.enable = true;
|
|
||||||
|
|
||||||
extraPackages = with pkgs; [
|
|
||||||
gamescope
|
|
||||||
];
|
|
||||||
|
|
||||||
extraCompatPackages = with pkgs; [
|
|
||||||
proton-ge-bin
|
|
||||||
];
|
|
||||||
|
|
||||||
localNetworkGameTransfers.openFirewall = true;
|
|
||||||
remotePlay.openFirewall = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
hardware =
|
|
||||||
(
|
|
||||||
if builtins.hasAttr "graphics" options.hardware then
|
|
||||||
{
|
|
||||||
graphics = {
|
|
||||||
enable = true;
|
|
||||||
enable32Bit = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
opengl = {
|
|
||||||
enable = true;
|
|
||||||
driSupport32Bit = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
)
|
|
||||||
// {
|
|
||||||
steam-hardware.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
services.udev.packages = with pkgs; [ steam ];
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
dualsensectl # for interfacing with dualsense controllers programmatically
|
|
||||||
];
|
|
||||||
|
|
||||||
# remote play ports - should be unnecessary due to programs.steam.remotePlay.openFirewall = true;
|
|
||||||
/*
|
|
||||||
networking.firewall.allowedUDPPortRanges = [ { from = 27031; to = 27036; } ];
|
|
||||||
networking.firewall.allowedTCPPortRanges = [ { from = 27036; to = 27037; } ];
|
|
||||||
*/
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
config,
|
config,
|
||||||
hardware,
|
hardware,
|
||||||
diskoConfigurations,
|
diskoConfigurations,
|
||||||
homeConfigurations,
|
# homeConfigurations,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
|
@ -37,24 +37,22 @@
|
||||||
defaultSopsFile = ../../secrets/dragon/secrets.yml;
|
defaultSopsFile = ../../secrets/dragon/secrets.yml;
|
||||||
secrets.ddns-pass.mode = "0400";
|
secrets.ddns-pass.mode = "0400";
|
||||||
};
|
};
|
||||||
# services.deno-netlify-ddns-client = {
|
services.deno-netlify-ddns-client = {
|
||||||
# passwordFile = config.sops.secrets.ddns-pass.path;
|
passwordFile = config.sops.secrets.ddns-pass.path;
|
||||||
# enable = true;
|
enable = true;
|
||||||
# username = "dragon.h";
|
username = "dragon.h";
|
||||||
# # TODO: router doesn't even do ipv6 yet...
|
# TODO: router doesn't even do ipv6 yet...
|
||||||
# ipv6 = false;
|
ipv6 = false;
|
||||||
# };
|
};
|
||||||
|
|
||||||
# networking.wifi.enable = true;
|
networking.wifi.enable = true;
|
||||||
# lyte.desktop.enable = true;
|
lyte.desktop.enable = true;
|
||||||
|
|
||||||
# home-manager.users.daniel = {
|
home-manager.users.daniel = {
|
||||||
# lyte.shell.enable = true;
|
slippi-launcher = {
|
||||||
# lyte.desktop.enable = true;
|
enable = true;
|
||||||
# slippi-launcher = {
|
isoPath = "${config.users.users.daniel.home}/../games/roms/dolphin/melee.iso";
|
||||||
# enable = true;
|
launchMeleeOnPlay = false;
|
||||||
# isoPath = "${config.users.users.daniel.home}/../games/roms/dolphin/melee.iso";
|
};
|
||||||
# launchMeleeOnPlay = false;
|
};
|
||||||
# };
|
|
||||||
# };
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue