I might be getting closer
Some checks failed
/ check (push) Failing after 9s

This commit is contained in:
Daniel Flanagan 2025-02-16 11:17:59 -06:00
parent 0bc0ba43a2
commit a59d571b31
10 changed files with 169 additions and 192 deletions

View file

@ -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)));
} }

View file

@ -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";

View file

@ -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
];
};
}; };
} }

View file

@ -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 =
{ {

View file

@ -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 = [
( (

View file

@ -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; } ];
*/
} }

View file

@ -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;
}; };
} }

View file

@ -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 = {

View file

@ -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; } ];
*/
};
} }

View file

@ -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; };
# };
# };
} }