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"
|
||||
];
|
||||
forSystems = nixpkgs: nixpkgs.lib.genAttrs systems;
|
||||
pkgsFor =
|
||||
nixpkgs: system:
|
||||
(import nixpkgs { inherit system; }).extend (builtins.trace forSelfOverlay forSelfOverlay);
|
||||
pkgsFor = nixpkgs: system: (import nixpkgs { inherit system; }).extend forSelfOverlay;
|
||||
genPkgs = nixpkgs: func: (forSystems nixpkgs (system: func (pkgsFor nixpkgs system)));
|
||||
}
|
||||
|
|
|
@ -14,20 +14,19 @@ in
|
|||
{
|
||||
imports = with homeManagerModules; [
|
||||
slippi.homeManagerModules.default
|
||||
# nix-colors.homeManagerModules.default
|
||||
# fish
|
||||
# helix
|
||||
# git
|
||||
# jujutsu
|
||||
# zellij
|
||||
# htop
|
||||
# linux
|
||||
# sshconfig
|
||||
# senpai
|
||||
# iex
|
||||
# helix
|
||||
# cargo
|
||||
# desktop
|
||||
fish
|
||||
helix
|
||||
git
|
||||
jujutsu
|
||||
zellij
|
||||
htop
|
||||
linux
|
||||
sshconfig
|
||||
senpai
|
||||
iex
|
||||
helix
|
||||
cargo
|
||||
desktop
|
||||
|
||||
/*
|
||||
broot
|
||||
|
@ -39,7 +38,9 @@ in
|
|||
options = {
|
||||
lyte = {
|
||||
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 = {
|
||||
enable = lib.mkEnableOption "Enable home-manager desktop configuration for the user";
|
||||
|
|
|
@ -15,21 +15,20 @@
|
|||
{
|
||||
imports = with self.outputs.nixosModules; [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
# home-manager.nixosModules.home-manager
|
||||
home-manager.nixosModules.home-manager
|
||||
sops-nix.nixosModules.sops
|
||||
disko.nixosModules.disko
|
||||
slippi.nixosModules.default
|
||||
# deno-netlify-ddns-client
|
||||
# shell-defaults-and-applications
|
||||
|
||||
# desktop
|
||||
# wifi
|
||||
# printing
|
||||
# podman
|
||||
# virtual-machines
|
||||
# postgres
|
||||
# gaming
|
||||
# daniel
|
||||
deno-netlify-ddns-client
|
||||
shell-defaults-and-applications
|
||||
desktop
|
||||
gnome
|
||||
wifi
|
||||
printing
|
||||
podman
|
||||
virtual-machines
|
||||
postgres
|
||||
gaming
|
||||
];
|
||||
|
||||
config = {
|
||||
|
@ -61,27 +60,27 @@
|
|||
|
||||
# TODO: for each non-system user on the machine?
|
||||
# home-manager = {
|
||||
#
|
||||
# useGlobalPkgs = lib.mkDefault true;
|
||||
# backupFileExtension = lib.mkDefault "hm-backup";
|
||||
|
||||
# sharedModules = with self.outputs.homeManagerModules; [
|
||||
# default
|
||||
# ];
|
||||
# useGlobalPkgs = lib.mkDefault true;
|
||||
# backupFileExtension = lib.mkDefault "hm-backup";
|
||||
|
||||
# users = {
|
||||
# root = {
|
||||
# home.stateVersion = lib.mkDefault config.system.stateVersion;
|
||||
# # imports = with self.outputs.homeManagerModules; [
|
||||
# # ];
|
||||
# sharedModules = with self.outputs.homeManagerModules; [
|
||||
# default
|
||||
# ];
|
||||
|
||||
# users = {
|
||||
# root = {
|
||||
# home.stateVersion = lib.mkDefault config.system.stateVersion;
|
||||
# # imports = with self.outputs.homeManagerModules; [
|
||||
# # ];
|
||||
# };
|
||||
# daniel = {
|
||||
# home.stateVersion = lib.mkDefault config.system.stateVersion;
|
||||
# imports = with self.outputs.homeManagerModules; [
|
||||
# daniel
|
||||
# ];
|
||||
# };
|
||||
# };
|
||||
# daniel = {
|
||||
# home.stateVersion = lib.mkDefault config.system.stateVersion;
|
||||
# imports = with self.outputs.homeManagerModules; [
|
||||
# daniel
|
||||
# ];
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
|
||||
systemd.services.nix-daemon.environment.TMPDIR = lib.mkDefault "/var/tmp"; # TODO: why did I do this again?
|
||||
|
@ -188,5 +187,11 @@
|
|||
];
|
||||
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;
|
||||
laptop = import ./laptop.nix;
|
||||
plasma6 = import ./plasma.nix;
|
||||
lutris = import ./lutris.nix;
|
||||
gaming = import ./gaming.nix;
|
||||
pipewire = import ./pipewire.nix;
|
||||
podman = import ./podman.nix;
|
||||
|
@ -20,7 +19,6 @@ inputs: {
|
|||
desktop = import ./desktop.nix;
|
||||
printing = import ./printing.nix;
|
||||
wifi = import ./wifi.nix;
|
||||
steam = import ./steam.nix;
|
||||
|
||||
remote-disk-key-entry-on-boot =
|
||||
{
|
||||
|
|
|
@ -9,9 +9,6 @@ let
|
|||
cfg = config.lyte.desktop;
|
||||
in
|
||||
{
|
||||
imports = with nixosModules; [
|
||||
gnome
|
||||
];
|
||||
options = {
|
||||
lyte = {
|
||||
desktop = {
|
||||
|
@ -20,7 +17,7 @@ in
|
|||
};
|
||||
};
|
||||
config = lib.mkIf cfg.enable {
|
||||
# services.xserver.desktopManager.gnome.enable = true;
|
||||
services.xserver.desktopManager.gnome.enable = true;
|
||||
|
||||
fonts.packages = [
|
||||
(
|
||||
|
|
|
@ -1,15 +1,69 @@
|
|||
{ self, pkgs, ... }:
|
||||
{
|
||||
imports = with self.outputs.nixosModules; [
|
||||
lutris # TODO: use the flatpak?
|
||||
steam # TODO: use the flatpak?
|
||||
];
|
||||
options,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
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
|
||||
wineWowPackages.waylandFull
|
||||
lutris
|
||||
winetricks
|
||||
ludusavi
|
||||
# ludusavi uses 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,
|
||||
lib,
|
||||
config,
|
||||
options,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.lyte.desktop;
|
||||
in
|
||||
{
|
||||
imports = with nixosModules; [
|
||||
gnome
|
||||
];
|
||||
options = {
|
||||
lyte = {
|
||||
desktop = {
|
||||
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
|
||||
config = lib.mkIf config.services.postgresql.enable {
|
||||
# this is really just for development usage
|
||||
services.postgresql = {
|
||||
# enable = true;
|
||||
ensureDatabases = [ "daniel" ];
|
||||
ensureUsers = [
|
||||
{
|
||||
graphics = {
|
||||
enable = true;
|
||||
# enable32Bit = true;
|
||||
/*
|
||||
driSupport32Bit = true;
|
||||
driSupport = true;
|
||||
*/
|
||||
};
|
||||
name = "daniel";
|
||||
ensureDBOwnership = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
opengl = {
|
||||
enable = true;
|
||||
# driSupport32Bit = true;
|
||||
driSupport = true;
|
||||
};
|
||||
};
|
||||
];
|
||||
# enableTCPIP = true;
|
||||
|
||||
services.flatpak.enable = true;
|
||||
programs.appimage.binfmt = true;
|
||||
services.printing.enable = true;
|
||||
programs.virt-manager.enable = config.virtualisation.libvirtd.enable;
|
||||
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
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -17,12 +17,6 @@ in
|
|||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
programs.eza = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
config.lyte.shell.enable = lib.mkDefault true;
|
||||
|
||||
programs.nix-index.enable = true;
|
||||
programs.command-not-found.enable = false;
|
||||
users = {
|
||||
|
|
|
@ -6,60 +6,5 @@
|
|||
...
|
||||
}:
|
||||
{
|
||||
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; } ];
|
||||
*/
|
||||
};
|
||||
config = lib.mkIf config.programs.steam.enable { };
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
config,
|
||||
hardware,
|
||||
diskoConfigurations,
|
||||
homeConfigurations,
|
||||
# homeConfigurations,
|
||||
...
|
||||
}:
|
||||
{
|
||||
|
@ -37,24 +37,22 @@
|
|||
defaultSopsFile = ../../secrets/dragon/secrets.yml;
|
||||
secrets.ddns-pass.mode = "0400";
|
||||
};
|
||||
# services.deno-netlify-ddns-client = {
|
||||
# passwordFile = config.sops.secrets.ddns-pass.path;
|
||||
# enable = true;
|
||||
# username = "dragon.h";
|
||||
# # TODO: router doesn't even do ipv6 yet...
|
||||
# ipv6 = false;
|
||||
# };
|
||||
services.deno-netlify-ddns-client = {
|
||||
passwordFile = config.sops.secrets.ddns-pass.path;
|
||||
enable = true;
|
||||
username = "dragon.h";
|
||||
# TODO: router doesn't even do ipv6 yet...
|
||||
ipv6 = false;
|
||||
};
|
||||
|
||||
# networking.wifi.enable = true;
|
||||
# lyte.desktop.enable = true;
|
||||
networking.wifi.enable = true;
|
||||
lyte.desktop.enable = true;
|
||||
|
||||
# home-manager.users.daniel = {
|
||||
# lyte.shell.enable = true;
|
||||
# lyte.desktop.enable = true;
|
||||
# slippi-launcher = {
|
||||
# enable = true;
|
||||
# isoPath = "${config.users.users.daniel.home}/../games/roms/dolphin/melee.iso";
|
||||
# launchMeleeOnPlay = false;
|
||||
# };
|
||||
# };
|
||||
home-manager.users.daniel = {
|
||||
slippi-launcher = {
|
||||
enable = true;
|
||||
isoPath = "${config.users.users.daniel.home}/../games/roms/dolphin/melee.iso";
|
||||
launchMeleeOnPlay = false;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue