Merge remote-tracking branch 'origin/main'

This commit is contained in:
Daniel Flanagan 2024-02-16 16:54:25 -06:00
commit 2c783aaa7f
Signed by: lytedev
GPG key ID: 5B2020A0F9921EF4
21 changed files with 266 additions and 218 deletions

View file

@ -50,11 +50,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1705075138, "lastModified": 1708029101,
"narHash": "sha256-0slYsXoR1Sd5FwTfFZLYxAsI015+J4lvgvo55u4Gw1A=", "narHash": "sha256-FPlAle/nl4sJRfd8eILe5M20aRJh/z2KY8ji2yBBwaI=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "f78b6498f69e04514cb84393e5daba669198c1c1", "rev": "810eccbad22cc50323b27161033399eb87658932",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -120,11 +120,11 @@
}, },
"hardware": { "hardware": {
"locked": { "locked": {
"lastModified": 1706085157, "lastModified": 1708091350,
"narHash": "sha256-0pTbYwn9qubaZLtuN0Ouj0neEfrir1wSNyH8gL1BzB0=", "narHash": "sha256-o28BJYi68qqvHipT7V2jkWxDiMS1LF9nxUsou+eFUPQ=",
"owner": "nixos", "owner": "nixos",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "e756ff62c2e9db4f7c197bc1849a02024a7bfb2e", "rev": "106d3fec43bcea19cb2e061ca02531d54b542ce3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -137,17 +137,15 @@
"inputs": { "inputs": {
"crane": "crane", "crane": "crane",
"flake-utils": "flake-utils_3", "flake-utils": "flake-utils_3",
"nixpkgs": [ "nixpkgs": "nixpkgs",
"nixpkgs"
],
"rust-overlay": "rust-overlay" "rust-overlay": "rust-overlay"
}, },
"locked": { "locked": {
"lastModified": 1704986785, "lastModified": 1708094594,
"narHash": "sha256-h0/pFRsnFesY+u+0EmeOXcReN8uF6Z3ok+eByZIks8E=", "narHash": "sha256-vAVKC8DdyQx/XngWV95FRvE+wAtf0f9bqKm3tFipiyE=",
"owner": "helix-editor", "owner": "helix-editor",
"repo": "helix", "repo": "helix",
"rev": "17dd102e5cccbb2a9a0f0224af63e52f3dab846b", "rev": "76e512f9445b2a26655248b46cf13413f9a6bbba",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -164,11 +162,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1705169127, "lastModified": 1708031129,
"narHash": "sha256-j9OEtNxOIPWZWjbECVMkI1TO17SzlpHMm0LnVWKOR/g=", "narHash": "sha256-EH20hJfNnc1/ODdDVat9B7aKm0B95L3YtkIRwKLvQG8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "f2942f3385f1b35cc8a1abb03a45e29c9cb4d3c8", "rev": "3d6791b3897b526c82920a2ab5f61d71985b3cf8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -189,11 +187,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1705070596, "lastModified": 1708018354,
"narHash": "sha256-Xq3JOddIH7AnACEHGaSKg71IF8CATE1zSTzdgR4pnlo=", "narHash": "sha256-MlbqBzAjiz4Va2M/AvLN96Wq+jsCbEedhfMs5wW1yFM=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "Hyprland", "repo": "Hyprland",
"rev": "c4da4b026deefd58f532353b64e9f17130e760ca", "rev": "fbf5ba87ce57752653f3bebf6e2be090c702836e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -229,7 +227,11 @@
}, },
"hyprlang": { "hyprlang": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs" "nixpkgs": [
"hyprland",
"xdph",
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1704287638, "lastModified": 1704287638,
@ -269,27 +271,43 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1702645756, "lastModified": 1700794826,
"narHash": "sha256-qKI6OR3TYJYQB3Q8mAZ+DG4o/BR9ptcv9UnRV2hzljc=", "narHash": "sha256-RyJTnTNKhO0yqRpDISk03I/4A67/dp96YRxc86YOPgU=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "40c3c94c241286dd2243ea34d3aef8a488f9e4d0", "rev": "5a09cb4b393d58f9ed0d9ca1555016a8543c2ac8",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1708105575,
"narHash": "sha256-sS4AItZeUnAei6v8FqxNlm+/27MPlfoGym/TZP0rmH0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1d1817869c47682a6bee85b5b0a6537b6c0fba26",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-unstable", "ref": "release-23.11",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1704722960, "lastModified": 1707956935,
"narHash": "sha256-mKGJ3sPsT6//s+Knglai5YflJUF2DGj7Ai6Ynopz0kI=", "narHash": "sha256-ZL2TrjVsiFNKOYwYQozpbvQSwvtV/3Me7Zwhmdsfyu4=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "317484b1ead87b9c1b8ac5261a8d2dd748a0492d", "rev": "a4d4fe8c5002202493e87ec8dbc91335ff55552c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -299,6 +317,22 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_3": {
"locked": {
"lastModified": 1708093448,
"narHash": "sha256-gohEm3/NVyu7WINFhRf83yJH8UM2ie/KY9Iw3VN6fiE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c7763249f02b7786b4ca36e13a4d7365cfba162f",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"api-lyte-dev": "api-lyte-dev", "api-lyte-dev": "api-lyte-dev",
@ -340,11 +374,11 @@
"slippi-desktop": { "slippi-desktop": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1607036060, "lastModified": 1707981080,
"narHash": "sha256-TUYsiVvKAws3N3roZYDwkLB0obyl6zwvh8CAk2RwHrY=", "narHash": "sha256-Qd1jLAXWvxA5SHcafgHFRs1+XYz8yXLdQ27+qZ8MYxk=",
"owner": "project-slippi", "owner": "project-slippi",
"repo": "slippi-desktop-app", "repo": "slippi-desktop-app",
"rev": "3ca39ba6bbd02157515b12a79aa01e5d669ad1b1", "rev": "16ab255406f7ab86846a7786ff15e3543501397c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -355,19 +389,15 @@
}, },
"sops-nix": { "sops-nix": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": "nixpkgs_3",
"nixpkgs" "nixpkgs-stable": "nixpkgs-stable"
],
"nixpkgs-stable": [
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1705201153, "lastModified": 1707842202,
"narHash": "sha256-y0/a4IMDZrc7lAkR7Gcm5R3W2iCBiARHnYZe6vkmiNE=", "narHash": "sha256-3dTBbCzHJBinwhsisGJHW1HLBsLbj91+a5ZDXt7ttW0=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "70dd0d521f7849338e487a219c1a07c429a66d77", "rev": "48afd3264ec52bee85231a7122612e2c5202fa74",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -384,16 +414,15 @@
"slippi-desktop": "slippi-desktop" "slippi-desktop": "slippi-desktop"
}, },
"locked": { "locked": {
"lastModified": 1704561657, "lastModified": 1708119120,
"narHash": "sha256-2IOPvEgMW9TlEi74NKRbhtZzY414t77lfHxxl2ixUlM=", "narHash": "sha256-SuZbD4eGwS9OYeGL0V9uPVsW2SyL7MbLXBd5rngZB4c=",
"owner": "lytedev", "owner": "lytedev",
"repo": "ssbm-nix", "repo": "ssbm-nix",
"rev": "75c62f692154172a9fc4bc4658b7597741a5b49f", "rev": "041f495ab6446e6edd22c1a5fbd48dd704c5b9a6",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "lytedev", "owner": "lytedev",
"ref": "my-nixpkgs",
"repo": "ssbm-nix", "repo": "ssbm-nix",
"type": "github" "type": "github"
} }
@ -462,18 +491,18 @@
"flake": false, "flake": false,
"locked": { "locked": {
"host": "gitlab.freedesktop.org", "host": "gitlab.freedesktop.org",
"lastModified": 1703963193, "lastModified": 1706359063,
"narHash": "sha256-ke8drv6PTrdQDruWbajrRJffP9A9PU6FRyjJGNZRTs4=", "narHash": "sha256-5HUTG0p+nCJv3cn73AmFHRZdfRV5AD5N43g8xAePSKM=",
"owner": "wlroots", "owner": "wlroots",
"repo": "wlroots", "repo": "wlroots",
"rev": "f81c3d93cd6f61b20ae784297679283438def8df", "rev": "00b869c1a96f300a8f25da95d624524895e0ddf2",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
"host": "gitlab.freedesktop.org", "host": "gitlab.freedesktop.org",
"owner": "wlroots", "owner": "wlroots",
"repo": "wlroots", "repo": "wlroots",
"rev": "f81c3d93cd6f61b20ae784297679283438def8df", "rev": "00b869c1a96f300a8f25da95d624524895e0ddf2",
"type": "gitlab" "type": "gitlab"
} }
}, },
@ -494,11 +523,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1704400467, "lastModified": 1706521509,
"narHash": "sha256-IsEAKBCorRlN53FwFAMbyGLRsPVu/ZrWEJtCwykPds8=", "narHash": "sha256-AInZ50acOJ3wzUwGzNr1TmxGTMx+8j6oSTzz4E7Vbp8=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland", "repo": "xdg-desktop-portal-hyprland",
"rev": "1c802128f6cc3db29a8ef01552b1a22f894eeefd", "rev": "c06fd88b3da492b8f9067be021b9184f7012b5a8",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -6,7 +6,8 @@
home-manager.inputs.nixpkgs.follows = "nixpkgs"; home-manager.inputs.nixpkgs.follows = "nixpkgs";
helix.url = "github:helix-editor/helix/master"; helix.url = "github:helix-editor/helix/master";
helix.inputs.nixpkgs.follows = "nixpkgs"; # I think if I force this to follow nixpkgs, I won't get caching benefits
# helix.inputs.nixpkgs.follows = "nixpkgs";
disko.url = "github:nix-community/disko/master"; disko.url = "github:nix-community/disko/master";
disko.inputs.nixpkgs.follows = "nixpkgs"; disko.inputs.nixpkgs.follows = "nixpkgs";
@ -24,10 +25,11 @@
api-lyte-dev.url = "git+ssh://gitea@git.lyte.dev/lytedev/api.lyte.dev.git"; api-lyte-dev.url = "git+ssh://gitea@git.lyte.dev/lytedev/api.lyte.dev.git";
api-lyte-dev.inputs.nixpkgs.follows = "nixpkgs"; api-lyte-dev.inputs.nixpkgs.follows = "nixpkgs";
ssbm.url = "github:lytedev/ssbm-nix/my-nixpkgs"; ssbm.url = "github:lytedev/ssbm-nix";
# I think if I force this to follow nixpkgs, I won't get caching benefits
ssbm.inputs.nixpkgs.follows = "nixpkgs"; ssbm.inputs.nixpkgs.follows = "nixpkgs";
# TODO: doesn't support the forge mod loader yet # TODO: doesn't (can't?) support the forge mod loader yet
# nix-minecraft.url = "github:Infinidoge/nix-minecraft"; # nix-minecraft.url = "github:Infinidoge/nix-minecraft";
}; };
@ -86,7 +88,6 @@
inherit system; inherit system;
specialArgs = { specialArgs = {
inherit inputs outputs system; inherit inputs outputs system;
flake = self;
}; };
modules = modules =
[ [
@ -156,6 +157,7 @@
extra-substituters = [ extra-substituters = [
"https://cache.nixos.org/" "https://cache.nixos.org/"
"https://helix.cachix.org" "https://helix.cachix.org"
"https://ssbm-nix.cachix.org"
"https://nix-community.cachix.org" "https://nix-community.cachix.org"
"https://nix.h.lyte.dev" "https://nix.h.lyte.dev"
]; ];
@ -163,6 +165,7 @@
extra-trusted-public-keys = [ extra-trusted-public-keys = [
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
"helix.cachix.org-1:ejp9KQpR1FBI2onstMQ34yogDm4OgU2ru6lIwPvuCVs=" "helix.cachix.org-1:ejp9KQpR1FBI2onstMQ34yogDm4OgU2ru6lIwPvuCVs="
"ssbm-nix.cachix.org-1:YN104LKAWaKQIecOphkftXgXlYZVK/IRHM1UD7WAIew="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"h.lyte.dev:HeVWtne31ZG8iMf+c15VY3/Mky/4ufXlfTpT8+4Xbs0=" "h.lyte.dev:HeVWtne31ZG8iMf+c15VY3/Mky/4ufXlfTpT8+4Xbs0="
]; ];

View file

@ -16,6 +16,7 @@
id = 0; id = 0;
settings = { settings = {
"general.smoothScroll" = true; "general.smoothScroll" = true;
"browser.zoom.siteSpecific" = false;
}; };
extraConfig = '' extraConfig = ''

View file

@ -1,9 +1,11 @@
{ {
pkgs,
inputs, inputs,
colors, colors,
system,
... ...
}: { }: let
inherit (pkgs) system;
in {
programs.helix = { programs.helix = {
enable = true; enable = true;
package = inputs.helix.packages.${system}.helix; package = inputs.helix.packages.${system}.helix;
@ -69,6 +71,26 @@
unit = "\t"; unit = "\t";
}; };
} }
{
name = "javascript";
auto-format = true;
}
{
name = "typescript";
auto-format = true;
}
{
name = "jsx";
auto-format = true;
}
{
name = "tsx";
auto-format = true;
}
{
name = "jsonc";
auto-format = true;
}
# { # {
# name = "javascript"; # name = "javascript";

View file

@ -1,13 +1,13 @@
{inputs, ...}: { {inputs, ...}: {
imports = [ imports = [
{nixpkgs.overlays = [inputs.ssbm.overlay];} {nixpkgs.overlays = [inputs.ssbm.overlay];}
inputs.ssbm.homeManagerModule # inputs.ssbm.homeManagerModules.default
]; ];
ssbm = { # ssbm = {
slippi-launcher = { # slippi-launcher = {
enable = true; # enable = false;
launchMeleeOnPlay = false; # launchMeleeOnPlay = false;
}; # };
}; # };
} }

View file

@ -3,11 +3,12 @@
lib, lib,
inputs, inputs,
outputs, outputs,
system,
pkgs, pkgs,
modulesPath, modulesPath,
... ...
}: { }: let
inherit (pkgs) system;
in {
networking.hostName = lib.mkDefault "nixoslyte"; networking.hostName = lib.mkDefault "nixoslyte";
imports = imports =
@ -122,9 +123,9 @@
}; };
services = { services = {
xserver = { xserver.xkb = {
layout = "us"; layout = "us";
xkbOptions = "ctrl:nocaps"; options = "ctrl:nocaps";
}; };
openssh = { openssh = {
@ -261,14 +262,15 @@
}; };
nix = { 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 # This will add each flake input as a registry
# To make nix3 commands consistent with your flake # To make nix3 commands consistent with your flake
registry = lib.mapAttrs (_: value: {flake = value;}) inputs; registry = lib.mapAttrs (_: value: {flake = value;}) inputs;
# This will additionally add your inputs to the system's legacy channels
# Making legacy nix commands consistent as well, awesome!
nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry;
settings = { settings = {
trusted-users = ["root" "daniel"]; trusted-users = ["root" "daniel"];
experimental-features = lib.mkDefault ["nix-command" "flakes"]; experimental-features = lib.mkDefault ["nix-command" "flakes"];

View file

@ -1,10 +1,11 @@
{ {
pkgs, pkgs,
inputs, inputs,
system,
outputs, outputs,
... ...
}: { }: let
inherit (pkgs) system;
in {
home-manager = { home-manager = {
extraSpecialArgs = { extraSpecialArgs = {
inherit inputs outputs system; inherit inputs outputs system;

View file

@ -1,10 +1,4 @@
{ {
pkgs,
inputs,
outputs,
system,
...
}: {
imports = [ imports = [
./sway.nix ./sway.nix
# ./hyprland.nix # ./hyprland.nix
@ -15,8 +9,6 @@
./kde-connect.nix ./kde-connect.nix
]; ];
nixpkgs.overlays = [outputs.overlays.modifications];
hardware = { hardware = {
opengl = { opengl = {
enable = true; enable = true;

View file

@ -1,9 +1,8 @@
{ {pkgs, ...}: {
outputs, imports = [
pkgs, ./ewwbar.nix
... ./pipewire.nix
}: { ];
imports = [outputs.nixosModules.ewwbar outputs.nixosModules.pipewire];
programs.hyprland.enable = true; programs.hyprland.enable = true;
environment.systemPackages = with pkgs; [hyprpaper]; environment.systemPackages = with pkgs; [hyprpaper];
} }

View file

@ -1,12 +1,12 @@
{inputs, ...}: { {inputs, ...}: {
imports = [ imports = [
{nixpkgs.overlays = [inputs.ssbm.overlay];} {nixpkgs.overlays = [inputs.ssbm.overlay];}
inputs.ssbm.nixosModule inputs.ssbm.nixosModules.default
]; ];
ssbm = { ssbm = {
cache.enable = true; cache.enable = true;
# overlay.enabled = true; # overlay.enable = true;
gcc = { gcc = {
rules.enable = true; rules.enable = true;

View file

@ -1,9 +1,7 @@
{ {pkgs, ...}: {
pkgs, imports = [
outputs, ./pipewire.nix
... ];
}: {
imports = with outputs.nixosModules; [pipewire];
# services.xserver.libinput.enable = true; # services.xserver.libinput.enable = true;

View file

@ -1,9 +1,10 @@
{lib, ...}: { {pkgs, ...}: let
networking.networkmanager.enable = lib.mkDefault true; inherit (pkgs.lib) mkDefault;
systemd.services.NetworkManager-wait-online.enable = lib.mkDefault false; in {
networking.networkmanager.enable = mkDefault true;
systemd.services.NetworkManager-wait-online.enable = mkDefault false;
# TODO: networking.networkmanager.wifi.backend = "iwd"; ? # TODO: networking.networkmanager.wifi.backend = "iwd"; ?
# TODO: powersave? # TODO: powersave?
# TODO: can I pre-configure my usual wifi networks with SSIDs and PSKs loaded from secrets? # TODO: can I pre-configure my usual wifi networks with SSIDs and PSKs loaded from secrets?
} }

View file

@ -1,16 +1,18 @@
{ {
config,
outputs, outputs,
flake,
... ...
}: { }: {
# a minimal, familiar setup that I can bootstrap atop # a minimal, familiar setup that I can bootstrap atop
imports = with outputs.nixosModules; [ imports = with outputs.nixosModules; [
# may need to be tweaked based on the machine's paritioning scheme # may need to be tweaked based on the machine's paritioning scheme
flake.diskoConfigurations.standard outputs.diskoConfigurations.standard
desktop-usage desktop-usage
wifi wifi
]; ];
networking.hostName = config.home-manager.users.daniel.home.username;
# TODO: may not work for non-UEFI? # TODO: may not work for non-UEFI?
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
} }

View file

@ -8,17 +8,21 @@ sudo nix run nixpkgs#ipmitool -- raw 0x30 0x30 0x01 0x00
sudo nix run nixpkgs#ipmitool -- raw 0x30 0x30 0x02 0xff 0x00 sudo nix run nixpkgs#ipmitool -- raw 0x30 0x30 0x02 0xff 0x00
*/ */
{ {
inputs, # inputs,
outputs, # outputs,
config, # config,
pkgs, pkgs,
system,
... ...
}: { }: let
imports = with outputs.nixosModules; [ inherit (pkgs) system;
intel in {
fonts # so that it gets cached to the nix store imports =
inputs.api-lyte-dev.nixosModules.${system}.api-lyte-dev [
../modules/nixos/intel.nix
../modules/nixos/fonts.nix
]
++ [
# inputs.api-lyte-dev.nixosModules.${system}.api-lyte-dev
# inputs.nix-minecraft.nixosModules.minecraft-servers # inputs.nix-minecraft.nixosModules.minecraft-servers
]; ];
@ -56,16 +60,16 @@ sudo nix run nixpkgs#ipmitool -- raw 0x30 0x30 0x02 0xff 0x00
secretKeyFile = "/var/cache-priv-key.pem"; secretKeyFile = "/var/cache-priv-key.pem";
}; };
services.api-lyte-dev = rec { # services.api-lyte-dev = rec {
enable = true; # enable = true;
port = 5757; # port = 5757;
stateDir = "/var/lib/api-lyte-dev"; # stateDir = "/var/lib/api-lyte-dev";
configFile = config.sops.secrets."api.lyte.dev".path; # # configFile = config.sops.secrets."api.lyte.dev".path;
user = "api-lyte-dev"; # user = "api-lyte-dev";
group = user; # group = user;
}; # };
systemd.services.api-lyte-dev.environment.LOG_LEVEL = "debug"; # systemd.services.api-lyte-dev.environment.LOG_LEVEL = "debug";
sops = { sops = {
defaultSopsFile = ../secrets/beefcake/secrets.yml; defaultSopsFile = ../secrets/beefcake/secrets.yml;
@ -98,33 +102,33 @@ sudo nix run nixpkgs#ipmitool -- raw 0x30 0x30 0x02 0xff 0x00
# "myservice/my_subdir/my_secret" = { }; # "myservice/my_subdir/my_secret" = { };
"api.lyte.dev" = { "api.lyte.dev" = {
path = "${config.services.api-lyte-dev.stateDir}/secrets.json"; # path = "${config.services.api-lyte-dev.stateDir}/secrets.json";
# TODO: would be cool to assert that it's correctly-formatted JSON? probably should be done in a pre-commit hook? # TODO: would be cool to assert that it's correctly-formatted JSON? probably should be done in a pre-commit hook?
mode = "0440"; mode = "0440";
owner = config.services.api-lyte-dev.user; # owner = config.services.api-lyte-dev.user;
group = config.services.api-lyte-dev.group; # group = config.services.api-lyte-dev.group;
}; };
"jland.env" = { "jland.env" = {
path = "/var/lib/jland/jland.env"; path = "/var/lib/jland/jland.env";
# TODO: would be cool to assert that it's correctly-formatted JSON? probably should be done in a pre-commit hook? # TODO: would be cool to assert that it's correctly-formatted JSON? probably should be done in a pre-commit hook?
mode = "0440"; mode = "0440";
owner = config.users.users.jland.name; # owner = config.users.users.jland.name;
group = config.users.groups.jland.name; # group = config.users.groups.jland.name;
}; };
plausible-admin-password = { plausible-admin-password = {
# TODO: path = "${config.systemd.services.plausible.serviceConfig.WorkingDirectory}/plausible-admin-password.txt"; # TODO: path = "${config.systemd.services.plausible.serviceConfig.WorkingDirectory}/plausible-admin-password.txt";
path = "/var/lib/plausible/plausible-admin-password"; path = "/var/lib/plausible/plausible-admin-password";
mode = "0440"; mode = "0440";
owner = config.systemd.services.plausible.serviceConfig.User; # owner = config.systemd.services.plausible.serviceConfig.User;
group = config.systemd.services.plausible.serviceConfig.Group; # group = config.systemd.services.plausible.serviceConfig.Group;
}; };
plausible-secret-key-base = { plausible-secret-key-base = {
path = "/var/lib/plausible/plausible-secret-key-base"; path = "/var/lib/plausible/plausible-secret-key-base";
mode = "0440"; mode = "0440";
owner = config.systemd.services.plausible.serviceConfig.User; # owner = config.systemd.services.plausible.serviceConfig.User;
group = config.systemd.services.plausible.serviceConfig.Group; # group = config.systemd.services.plausible.serviceConfig.Group;
}; };
nextcloud-admin-password = { nextcloud-admin-password = {
path = "/var/lib/nextcloud/admin-password"; path = "/var/lib/nextcloud/admin-password";
@ -186,7 +190,7 @@ sudo nix run nixpkgs#ipmitool -- raw 0x30 0x30 0x02 0xff 0x00
users.users.lytedev = { users.users.lytedev = {
# for running my services and applications and stuff # for running my services and applications and stuff
isNormalUser = true; isNormalUser = true;
openssh.authorizedKeys.keys = config.users.users.daniel.openssh.authorizedKeys.keys; # openssh.authorizedKeys.keys = config.users.users.daniel.openssh.authorizedKeys.keys;
group = "lytedev"; group = "lytedev";
}; };
@ -213,7 +217,8 @@ sudo nix run nixpkgs#ipmitool -- raw 0x30 0x30 0x02 0xff 0x00
[ [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJbPqzKB09U+i4Kqu136yOjflLZ/J7pYsNulTAd4x903 root@chromebox.h.lyte.dev" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJbPqzKB09U+i4Kqu136yOjflLZ/J7pYsNulTAd4x903 root@chromebox.h.lyte.dev"
] ]
++ config.users.users.daniel.openssh.authorizedKeys.keys; # ++ config.users.users.daniel.openssh.authorizedKeys.keys;
;
}; };
users.users.guest = { users.users.guest = {
@ -280,72 +285,72 @@ sudo nix run nixpkgs#ipmitool -- raw 0x30 0x30 0x02 0xff 0x00
# TODO: there are some hardcoded ports here! # TODO: there are some hardcoded ports here!
# https://github.com/NixOS/nixpkgs/blob/04af42f3b31dba0ef742d254456dc4c14eedac86/nixos/modules/services/misc/lidarr.nix#L72 # https://github.com/NixOS/nixpkgs/blob/04af42f3b31dba0ef742d254456dc4c14eedac86/nixos/modules/services/misc/lidarr.nix#L72
# TODO: customize the files.lyte.dev template? # TODO: customize the files.lyte.dev template?
configFile = pkgs.writeText "Caddyfile" '' # configFile = pkgs.writeText "Caddyfile" ''
video.lyte.dev { # video.lyte.dev {
reverse_proxy :8096 # reverse_proxy :8096
}
dev.h.lyte.dev {
reverse_proxy :8000
}
# lidarr.h.lyte.dev {
# reverse_proxy :8686
# } # }
# radarr.h.lyte.dev { # dev.h.lyte.dev {
# reverse_proxy :7878 # reverse_proxy :8000
# } # }
# sonarr.h.lyte.dev { # # lidarr.h.lyte.dev {
# reverse_proxy :8989 # # reverse_proxy :8686
# # }
# # radarr.h.lyte.dev {
# # reverse_proxy :7878
# # }
# # sonarr.h.lyte.dev {
# # reverse_proxy :8989
# # }
# # bazarr.h.lyte.dev {
# # reverse_proxy :$${toString config.services.bazarr.listenPort}
# # }
# bw.lyte.dev {
# reverse_proxy :${toString config.services.vaultwarden.config.ROCKET_PORT}
# } # }
# bazarr.h.lyte.dev { # api.lyte.dev {
# reverse_proxy :${toString config.services.bazarr.listenPort} # reverse_proxy :${toString config.services.api-lyte-dev.port}
# } # }
bw.lyte.dev { # a.lyte.dev {
reverse_proxy :${toString config.services.vaultwarden.config.ROCKET_PORT} # reverse_proxy :${toString config.services.plausible.server.port}
} # }
api.lyte.dev { # nextcloud.lyte.dev {
reverse_proxy :${toString config.services.api-lyte-dev.port} # reverse_proxy :${toString 9999}
} # }
a.lyte.dev { # git.lyte.dev {
reverse_proxy :${toString config.services.plausible.server.port} # reverse_proxy :${toString config.services.gitea.settings.server.HTTP_PORT}
} # }
nextcloud.lyte.dev { # files.lyte.dev {
reverse_proxy :${toString 9999} # file_server browse {
} # # browse template
# # hide .*
# root /storage/files.lyte.dev
# }
# }
git.lyte.dev { # nix.h.lyte.dev {
reverse_proxy :${toString config.services.gitea.settings.server.HTTP_PORT} # reverse_proxy :${toString config.services.nix-serve.port}
} # }
files.lyte.dev { # # proxy everything else to chromebox
file_server browse { # :80 {
# browse template # reverse_proxy 10.0.0.5:80
# hide .* # }
root /storage/files.lyte.dev
}
}
nix.h.lyte.dev { # :443 {
reverse_proxy :${toString config.services.nix-serve.port} # reverse_proxy 10.0.0.5:443
} # }
# '';
# proxy everything else to chromebox
:80 {
reverse_proxy 10.0.0.5:80
}
:443 {
reverse_proxy 10.0.0.5:443
}
'';
}; };
services.vaultwarden = { services.vaultwarden = {
@ -425,12 +430,12 @@ sudo nix run nixpkgs#ipmitool -- raw 0x30 0x30 0x02 0xff 0x00
baseUrl = "http://beefcake.hare-cod.ts.net:8899"; baseUrl = "http://beefcake.hare-cod.ts.net:8899";
disableRegistration = true; disableRegistration = true;
port = 8899; port = 8899;
secretKeybaseFile = config.sops.secrets.plausible-secret-key-base.path; # secretKeybaseFile = config.sops.secrets.plausible-secret-key-base.path;
}; };
adminUser = { adminUser = {
activate = false; activate = false;
email = "daniel@lyte.dev"; email = "daniel@lyte.dev";
passwordFile = config.sops.secrets.plausible-admin-password.path; # passwordFile = config.sops.secrets.plausible-admin-password.path;
}; };
}; };
@ -691,17 +696,19 @@ sudo nix run nixpkgs#ipmitool -- raw 0x30 0x30 0x02 0xff 0x00
virtualisation.oci-containers.backend = "podman"; virtualisation.oci-containers.backend = "podman";
virtualisation.oci-containers.containers = { virtualisation.oci-containers.containers = {
minecraft-jland = { minecraft-jland = {
autoStart = false;
# sending commands: https://docker-minecraft-server.readthedocs.io/en/latest/commands/ # sending commands: https://docker-minecraft-server.readthedocs.io/en/latest/commands/
image = "docker.io/itzg/minecraft-server"; image = "docker.io/itzg/minecraft-server";
user = "${toString config.users.users.jland.uid}:${toString config.users.groups.jland.gid}"; # user = "${toString config.users.users.jland.uid}:${toString config.users.groups.jland.gid}";
extraOptions = [ extraOptions = [
"--tty" "--tty"
"--interactive" "--interactive"
]; ];
environment = { environment = {
EULA = "true"; EULA = "true";
UID = toString config.users.users.jland.uid; # UID = toString config.users.users.jland.uid;
GID = toString config.users.groups.jland.gid; # GID = toString config.users.groups.jland.gid;
STOP_SERVER_ANNOUNCE_DELAY = "20"; STOP_SERVER_ANNOUNCE_DELAY = "20";
TZ = "America/Chicago"; TZ = "America/Chicago";
VERSION = "1.20.1"; VERSION = "1.20.1";
@ -728,7 +735,7 @@ sudo nix run nixpkgs#ipmitool -- raw 0x30 0x30 0x02 0xff 0x00
# https://docker-minecraft-server.readthedocs.io/en/latest/misc/autopause-autostop/autopause/ # https://docker-minecraft-server.readthedocs.io/en/latest/misc/autopause-autostop/autopause/
}; };
environmentFiles = [ environmentFiles = [
config.sops.secrets."jland.env".path # config.sops.secrets."jland.env".path
]; ];
ports = ["26965:25565"]; ports = ["26965:25565"];
volumes = [ volumes = [

View file

@ -1,6 +1,5 @@
{ {
config, # config,
flake,
inputs, inputs,
outputs, outputs,
lib, lib,
@ -13,7 +12,7 @@
boot.supportedFilesystems = ["ntfs"]; boot.supportedFilesystems = ["ntfs"];
imports = with outputs.nixosModules; [ imports = with outputs.nixosModules; [
flake.diskoConfigurations.standard outputs.diskoConfigurations.standard
inputs.hardware.nixosModules.common-cpu-amd inputs.hardware.nixosModules.common-cpu-amd
inputs.hardware.nixosModules.common-pc-ssd inputs.hardware.nixosModules.common-pc-ssd
outputs.nixosModules.pipewire-low-latency outputs.nixosModules.pipewire-low-latency
@ -37,15 +36,14 @@
pass pass
firefox-no-tabs firefox-no-tabs
melee melee
# sway-laptop # hyprland
hyprland
]; ];
ssbm = { # ssbm = {
slippi-launcher = { # slippi-launcher = {
isoPath = "${config.home-manager.users.daniel.home.homeDirectory}/../games/roms/dolphin/melee.iso"; # isoPath = "${config.home-manager.users.daniel.home.homeDirectory}/../games/roms/dolphin/melee.iso";
}; # };
}; # };
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
settings = { settings = {

View file

@ -9,7 +9,7 @@ in {
networking.hostName = "foxtrot"; networking.hostName = "foxtrot";
imports = with outputs.nixosModules; [ imports = with outputs.nixosModules; [
flake.diskoConfigurations.standard outputs.diskoConfigurations.standard
inputs.hardware.nixosModules.framework-13-7040-amd inputs.hardware.nixosModules.framework-13-7040-amd
desktop-usage desktop-usage
# gnome # gnome

View file

@ -34,7 +34,6 @@
services.gnome.gnome-remote-desktop.enable = true; services.gnome.gnome-remote-desktop.enable = true;
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
nix.settings.experimental-features = ["nix-command" "flakes"];
home-manager.users.daniel = { home-manager.users.daniel = {
imports = with outputs.homeManagerModules; [linux-desktop]; imports = with outputs.homeManagerModules; [linux-desktop];
@ -85,7 +84,7 @@
powerManagement.enable = false; powerManagement.enable = false;
boot.loader.grub.enable = true; # boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/sda"; boot.loader.grub.device = "/dev/sda";
boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" "sdhci_pci"]; boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" "sdhci_pci"];

View file

@ -1,5 +1,4 @@
{ {
flake,
outputs, outputs,
# lib, # lib,
# config, # config,
@ -8,14 +7,11 @@
}: { }: {
networking.hostName = "musicbox"; networking.hostName = "musicbox";
imports = imports = with outputs.nixosModules; [
[ outputs.diskoConfigurations.unencrypted
flake.diskoConfigurations.unencrypted
]
++ (with outputs.nixosModules; [
desktop-usage desktop-usage
wifi wifi
]); ];
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;

View file

@ -1,5 +1,5 @@
{ {
flake, outputs,
lib, lib,
# outputs, # outputs,
# config, # config,
@ -35,7 +35,7 @@ in {
networking.useDHCP = false; networking.useDHCP = false;
imports = [ imports = [
flake.diskoConfigurations.unencrypted outputs.diskoConfigurations.unencrypted
]; ];
# TODO: perform a hardware scan # TODO: perform a hardware scan

View file

@ -1,5 +1,4 @@
{ {
flake,
inputs, inputs,
outputs, outputs,
lib, lib,
@ -11,7 +10,7 @@
imports = with outputs.nixosModules; [ imports = with outputs.nixosModules; [
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
flake.diskoConfigurations.standard outputs.diskoConfigurations.standard
inputs.hardware.nixosModules.lenovo-thinkpad-x1-yoga inputs.hardware.nixosModules.lenovo-thinkpad-x1-yoga
desktop-usage desktop-usage
fonts fonts

View file

@ -1,5 +1,4 @@
{ {
flake,
inputs, inputs,
outputs, outputs,
lib, lib,
@ -10,7 +9,7 @@
networking.hostName = "thinker"; networking.hostName = "thinker";
imports = with outputs.nixosModules; [ imports = with outputs.nixosModules; [
flake.diskoConfigurations.thinker outputs.diskoConfigurations.thinker
inputs.hardware.nixosModules.lenovo-thinkpad-t480 inputs.hardware.nixosModules.lenovo-thinkpad-t480
inputs.hardware.nixosModules.common-pc-laptop-ssd inputs.hardware.nixosModules.common-pc-laptop-ssd
desktop-usage desktop-usage