Compare commits
51
Commits
dfc49fb8b1
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0f0e173f30
|
||
|
|
b90d81888d
|
||
|
|
dac1d8710a
|
||
|
|
5eaf0cdcea
|
||
|
|
ee15e492b2
|
||
|
|
423dc200cd
|
||
|
|
e0cabce1ec
|
||
|
|
c14257df1e
|
||
|
|
d066f7251b
|
||
|
|
ff9d7c9d7c
|
||
|
|
7aac8a9c28
|
||
|
|
17861cb717
|
||
|
|
bfd753fb6b
|
||
|
|
121fc56c3d
|
||
|
|
06aa847048
|
||
|
|
db0e5963e3 | ||
|
|
591e6ae996
|
||
|
|
4657eddf5f
|
||
|
|
b15f3ad807
|
||
|
|
fb59a12985
|
||
|
|
abe998d787
|
||
|
|
ab2f02934d
|
||
|
|
ef73efd255
|
||
|
|
343fac4a44
|
||
|
|
8caec63012
|
||
|
|
55597fc91f
|
||
|
|
92b0e2f2cf
|
||
|
|
d94fbbac6f
|
||
|
|
d9d4778bd5
|
||
|
|
90442c4b05
|
||
|
|
ec1692ed40
|
||
|
|
5f0332fbd9
|
||
|
|
88254393a5
|
||
|
|
3dd9084ee2
|
||
|
|
34594dfdda
|
||
|
|
523aeb3651
|
||
|
|
5fb1b6204a
|
||
|
|
21dbf8d779
|
||
|
|
2c83e2c3a7
|
||
|
|
b2194c8187
|
||
|
|
768d06a190
|
||
|
|
349ab6df42
|
||
|
|
73968202d1
|
||
|
|
6f62fbfaa1
|
||
|
|
15f08cd619
|
||
|
|
d3bc77f142
|
||
|
|
24280c59fa
|
||
|
|
7d8f781ca6
|
||
|
|
d0df2fd0c2
|
||
|
|
df6f5288ce
|
||
|
|
22af0eaa9d
|
@@ -0,0 +1,30 @@
|
||||
name: ci
|
||||
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
check-flake:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
|
||||
- uses: cachix/install-nix-action@v31
|
||||
with:
|
||||
extra_nix_config: |
|
||||
experimental-features = nix-command flakes
|
||||
accept-flake-config = true
|
||||
|
||||
- name: check formatting
|
||||
run: nix fmt -- --check
|
||||
|
||||
- name: statix linting check
|
||||
run: nix run nixpkgs#statix -- check .
|
||||
|
||||
- name: evaluate all configurations
|
||||
run: nix flake check --no-build --all-systems
|
||||
|
||||
- name: build packages
|
||||
run: nix build --no-link .#heidisql .#aseprite-thumbnailer-kde
|
||||
|
||||
+4
-1
@@ -1,6 +1,6 @@
|
||||
**/result
|
||||
|
||||
# Devenv
|
||||
# devenv
|
||||
.devenv*
|
||||
devenv.local.nix
|
||||
devenv.local.yaml
|
||||
@@ -10,3 +10,6 @@ devenv.local.yaml
|
||||
|
||||
# pre-commit
|
||||
.pre-commit-config.yaml
|
||||
|
||||
# llm harness junk
|
||||
.pi
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
# NixOS Flake Configuration
|
||||
|
||||
Personal NixOS configuration, managed as a flake. Deploys to NixOS, macOS (nix-darwin), and home-manager.
|
||||
|
||||
## Machines
|
||||
|
||||
| Hostname | Nix Target | Purpose |
|
||||
|------|----|-------------|
|
||||
| **nero** | NixOS | Personal desktop - KDE, gaming (Steam), VR (WiVRn), Flatpak apps |
|
||||
| **vergil** | NixOS | Server - Jellyfin, Pi-hole, nginx, remote build node |
|
||||
| **pdw-frankiel** | NixOS | Work desktop - KDE, flatpak apps |
|
||||
| **franks-macbook-pro** | macOS (nix-darwin) | General-purpose laptop |
|
||||
|
||||
## Directory Structure
|
||||
|
||||
```
|
||||
flake.nix
|
||||
hosts/ <- Host specific confirugration, each host gets its own subdirectory matching it's hostname.
|
||||
shared/ <- Shared components specific to hosts (Trusted SSH keys, shared pkgs, disk layouts).
|
||||
features/ <- Portable software feature modules (KDE, Podman, Wine, vim, etc.).
|
||||
home/ <- Home-manager configuration and drop-in config files.
|
||||
packages/ <- Custom pkgs outside of nixpkgs or external flakes.
|
||||
secrets/ <- SOPS secret store
|
||||
assets/ <- Static assets like graphics.
|
||||
keys/ <- SSH and GPG public keys.
|
||||
```
|
||||
|
||||
### Building and useful commands
|
||||
|
||||
```bash
|
||||
# Build and switch.
|
||||
sudo nixos-rebuild switch --flake .#<HOSTNAME>
|
||||
|
||||
# Build and switch if using nix-darwin.
|
||||
sudo darwin-rebuild switch --flake .#<HOSTNAME>
|
||||
|
||||
# Build but do not switch.
|
||||
nix build .#nixosConfigurations.nero.config.system.build.toplevel
|
||||
|
||||
# Format all .nix files.
|
||||
nixfmt
|
||||
```
|
||||
|
||||
## Secrets
|
||||
|
||||
Secrets are managed with SOPS. The `secrets/` directory contains encrypted files that get decrypted at build time (or when using `sops edit secrets/<NAME>.yaml`. **Never** commit the decrypted versions. In order to successfully build a configuration with secrets, place the correct private age key file in `/persist/sops/age/keys.txt` with the file mask of `0400` prior to building. You can also drop in the `keys.txt` file using nixos-anywhere or other deployment tools. In order to edit sops encrypted files without being root, place the same key file in the user's home directory at `$HOME/.config/sops/age/keys.txt` with the file mask of `0400`. Ensure that you **always** edit secret files with `sops edit secrets/<NAME>.yaml` and that you don't accidentally commit unencrypted secrets.
|
||||
@@ -1,22 +0,0 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
./starship.nix
|
||||
];
|
||||
|
||||
programs.bash = {
|
||||
enable = true;
|
||||
|
||||
interactiveShellInit = ''
|
||||
eval "$(devenv hook bash)"
|
||||
eval "$(jump shell)"
|
||||
clear;fastfetch
|
||||
'';
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
jump
|
||||
devenv
|
||||
fastfetch
|
||||
];
|
||||
}
|
||||
@@ -4,6 +4,7 @@ with pkgs;
|
||||
wget
|
||||
nil
|
||||
bash-language-server
|
||||
btop
|
||||
devenv
|
||||
tmux
|
||||
ripgrep
|
||||
|
||||
@@ -10,12 +10,8 @@
|
||||
|
||||
remotes = lib.mkOptionDefault [
|
||||
{
|
||||
name = "flathub";
|
||||
location = "https://dl.flathub.org/repo/flathub.flatpakrepo";
|
||||
}
|
||||
{
|
||||
name = "flathub-beta";
|
||||
location = "https://dl.flathub.org/beta-repo/flathub-beta.flatpakrepo";
|
||||
name = "flatpark";
|
||||
location = "https://dl.flatpark.org/flatpark.flatpakrepo";
|
||||
}
|
||||
{
|
||||
name = "amethyst-mod-manager";
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
osConfig,
|
||||
...
|
||||
}:
|
||||
let
|
||||
home = config.home.homeDirectory;
|
||||
isLinux = pkgs.stdenv.hostPlatform.isLinux;
|
||||
runtimeDir = "/run/user/${toString osConfig.users.users.${config.home.username}.uid}";
|
||||
|
||||
vars = {
|
||||
XDG_CACHE_HOME = "${home}/.cache";
|
||||
XDG_CONFIG_HOME = "${home}/.config";
|
||||
XDG_DATA_HOME = "${home}/.local/share";
|
||||
XDG_STATE_HOME = "${home}/.local/state";
|
||||
|
||||
ANDROID_USER_HOME = "${home}/.local/share/android";
|
||||
AZURE_CONFIG_DIR = "${home}/.local/share/azure";
|
||||
|
||||
NPM_CONFIG_INIT_MODULE = "${home}/.config/npm/config/npm-init.js";
|
||||
NPM_CONFIG_CACHE = "${home}/.cache/npm";
|
||||
|
||||
_JAVA_OPTIONS = "-Djava.util.prefs.userRoot=${home}/.config/java";
|
||||
|
||||
PYTHON_HISTORY = "${home}/.local/state/python_history";
|
||||
|
||||
HISTFILE = "${home}/.local/state/bash/history";
|
||||
|
||||
DOTNET_ROOT = "${pkgs.dotnet-sdk}/share/dotnet";
|
||||
DOTNET_CLI_HOME = "${home}/.local/share/dotnet";
|
||||
|
||||
GTK2_RC_FILES = "${home}/.config/gtk-2.0/gtkrc";
|
||||
|
||||
WINEPREFIX = "${home}/.local/share/wine";
|
||||
};
|
||||
|
||||
linuxVars = {
|
||||
NPM_CONFIG_TMP = "${runtimeDir}/npm";
|
||||
};
|
||||
in
|
||||
{
|
||||
home.sessionVariables = vars // lib.optionalAttrs isLinux linuxVars;
|
||||
|
||||
systemd.user.sessionVariables = lib.mkIf isLinux (vars // linuxVars);
|
||||
}
|
||||
@@ -20,6 +20,7 @@
|
||||
};
|
||||
|
||||
kdeconnect.enable = true;
|
||||
kde-pim.enable = false;
|
||||
};
|
||||
|
||||
environment = {
|
||||
@@ -39,6 +40,8 @@
|
||||
|
||||
sessionVariables = {
|
||||
SSH_ASKPASS_REQUIRE = "prefer";
|
||||
KWIN_DRM_NO_TRIPLE_BUFFERING = "1";
|
||||
KWIN_ALLOW_VULKAN_MGPU_COPIES = "1";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
{ _, ... }:
|
||||
{
|
||||
services.keyd = {
|
||||
enable = true;
|
||||
|
||||
keyboards = {
|
||||
default = {
|
||||
ids = [ "*" ];
|
||||
|
||||
settings = {
|
||||
main = {
|
||||
capslock = "leftcontrol";
|
||||
insert = "S-insert";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{ _, ... }:
|
||||
{
|
||||
virtualisation.podman = {
|
||||
enable = true;
|
||||
dockerCompat = true;
|
||||
defaultNetwork.settings.dns_enabled = true;
|
||||
};
|
||||
}
|
||||
+35
-28
@@ -1,18 +1,25 @@
|
||||
{ pkgs, config, ... }:
|
||||
let
|
||||
usr = if pkgs.stdenv.hostPlatform.isDarwin then "frank" else config.users.users.frank.name;
|
||||
grp = if pkgs.stdenv.hostPlatform.isDarwin then "admin" else config.users.users.frank.group;
|
||||
admgrp = if pkgs.stdenv.hostPlatform.isDarwin then "wheel" else "root";
|
||||
in
|
||||
{
|
||||
sops = {
|
||||
defaultSopsFile = ../.sops.yaml;
|
||||
|
||||
age = {
|
||||
sshKeyPaths = [ ];
|
||||
keyFile = "/persist/sops/age/keys.txt";
|
||||
keyFile =
|
||||
if pkgs.stdenv.hostPlatform.isDarwin then
|
||||
"/usr/local/sops/age/keys.txt"
|
||||
else
|
||||
"/persist/sops/age/keys.txt";
|
||||
};
|
||||
|
||||
secrets = {
|
||||
"password_hash" = {
|
||||
sopsFile = ../secrets/password-hash.yaml;
|
||||
owner = "root";
|
||||
group = "root";
|
||||
group = admgrp;
|
||||
mode = "0400";
|
||||
neededForUsers = true;
|
||||
};
|
||||
@@ -20,48 +27,48 @@
|
||||
"personal_ssh_key_ed25519" = {
|
||||
sopsFile = ../secrets/personal-ssh-key.yaml;
|
||||
key = "personal_ssh_key_ed25519";
|
||||
owner = config.users.users.frank.name;
|
||||
group = config.users.users.frank.group;
|
||||
owner = usr;
|
||||
group = grp;
|
||||
mode = "0400";
|
||||
};
|
||||
|
||||
"personal_ssh_key_ed25519.pub" = {
|
||||
sopsFile = ../secrets/personal-ssh-key.yaml;
|
||||
key = "personal_ssh_key_ed25519_pub";
|
||||
owner = config.users.users.frank.name;
|
||||
group = config.users.users.frank.group;
|
||||
owner = usr;
|
||||
group = grp;
|
||||
mode = "0644";
|
||||
};
|
||||
|
||||
"sapphire_ssh_key_ed25519" = {
|
||||
sopsFile = ../secrets/sapphire-ssh-key.yaml;
|
||||
key = "sapphire_ssh_key_ed25519";
|
||||
owner = usr;
|
||||
group = grp;
|
||||
mode = "0400";
|
||||
};
|
||||
|
||||
"sapphire_ssh_key_ed25519.pub" = {
|
||||
sopsFile = ../secrets/sapphire-ssh-key.yaml;
|
||||
key = "sapphire_ssh_key_ed25519_pub";
|
||||
owner = usr;
|
||||
group = grp;
|
||||
mode = "0644";
|
||||
};
|
||||
|
||||
"work_ssh_key_rsa" = {
|
||||
sopsFile = ../secrets/work-ssh-key.yaml;
|
||||
key = "work_ssh_key_rsa";
|
||||
owner = config.users.users.frank.name;
|
||||
group = config.users.users.frank.group;
|
||||
owner = usr;
|
||||
group = grp;
|
||||
mode = "0400";
|
||||
};
|
||||
|
||||
"work_ssh_key_rsa.pub" = {
|
||||
sopsFile = ../secrets/work-ssh-key.yaml;
|
||||
key = "work_ssh_key_rsa_pub";
|
||||
owner = config.users.users.frank.name;
|
||||
group = config.users.users.frank.group;
|
||||
mode = "0644";
|
||||
};
|
||||
|
||||
"remotebuild_ssh_key_rsa" = {
|
||||
sopsFile = ../secrets/remotebuild-ssh-key.yaml;
|
||||
key = "remotebuild_ssh_key_rsa";
|
||||
owner = "root";
|
||||
group = "root";
|
||||
mode = "0400";
|
||||
};
|
||||
|
||||
"remotebuild_ssh_key_rsa.pub" = {
|
||||
sopsFile = ../secrets/work-ssh-key.yaml;
|
||||
key = "work_ssh_key_rsa_pub";
|
||||
owner = "root";
|
||||
group = "root";
|
||||
owner = usr;
|
||||
group = grp;
|
||||
mode = "0644";
|
||||
};
|
||||
};
|
||||
|
||||
+9
-1
@@ -1,15 +1,23 @@
|
||||
{ config, ... }:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
users = {
|
||||
mutableUsers = false;
|
||||
defaultUserShell = pkgs.bash;
|
||||
|
||||
users.frank = {
|
||||
isNormalUser = true;
|
||||
uid = 1000;
|
||||
description = "Frank LoTurco";
|
||||
hashedPasswordFile = config.sops.secrets.password_hash.path;
|
||||
openssh.authorizedKeys.keyFiles = [ ../keys/personal_ssh_key_ed25519.pub ];
|
||||
|
||||
extraGroups = [
|
||||
"wheel"
|
||||
"networkmanager"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
+11
-2
@@ -1,5 +1,14 @@
|
||||
{ pkgs, ... }:
|
||||
{ pkgs, lib, ... }:
|
||||
{
|
||||
boot.binfmt.registrations.wine = {
|
||||
recognitionType = "magic";
|
||||
offset = 0;
|
||||
magicOrExtension = "MZ";
|
||||
interpreter = lib.getExe pkgs.wineWow64Packages.full;
|
||||
wrapInterpreterInShell = false;
|
||||
fixBinary = true;
|
||||
};
|
||||
|
||||
environment = {
|
||||
systemPackages = with pkgs; [
|
||||
wineWow64Packages.full
|
||||
@@ -8,7 +17,7 @@
|
||||
|
||||
sessionVariables = {
|
||||
WINE = "${pkgs.wineWow64Packages.full}/bin/.wine";
|
||||
WINEPREFIX = "$XDG_DATA_HOME/wine";
|
||||
WINEDEBUG = "-all";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
+1
-33
@@ -1,40 +1,8 @@
|
||||
# Enforce XDG directory spec for configuration files
|
||||
{ pkgs }:
|
||||
rec {
|
||||
XDG_CACHE_HOME = "$HOME/.cache";
|
||||
XDG_CONFIG_HOME = "$HOME/.config";
|
||||
XDG_DATA_HOME = "$HOME/.local/share";
|
||||
XDG_STATE_HOME = "$HOME/.local/state";
|
||||
|
||||
{
|
||||
XDG_DATA_DIRS = [
|
||||
"${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}"
|
||||
"${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}"
|
||||
];
|
||||
|
||||
# Android
|
||||
ANDROID_USER_HOME = "$XDG_DATA_HOME/android";
|
||||
|
||||
# Azure
|
||||
AZURE_CONFIG_DIR = "$XDG_DATA_HOME/azure";
|
||||
|
||||
# NodeJS / npm
|
||||
NPM_CONFIG_INIT_MODULE = "$XDG_CONFIG_HOME/npm/config/npm-init.js";
|
||||
NPM_CONFIG_CACHE = "$XDG_CACHE_HOME/npm";
|
||||
NPM_CONFIG_TMP = "$XDG_RUNTIME_DIR/npm";
|
||||
|
||||
# Java
|
||||
_JAVA_OPTIONS = "-Djava.util.prefs.userRoot=$XDG_CONFIG_HOME/java";
|
||||
|
||||
# Python
|
||||
PYTHON_HISTORY = "$XDG_STATE_HOME/python_history";
|
||||
|
||||
# BASH
|
||||
HISTFILE = "$XDG_STATE_HOME/bash/history";
|
||||
|
||||
# .NET
|
||||
DOTNET_ROOT = "${pkgs.dotnet-sdk}/share/dotnet";
|
||||
DOTNET_CLI_HOME = "$XDG_DATA_HOME/dotnet";
|
||||
|
||||
# GTK
|
||||
GTK2_RC_FILES = "$XDG_CONFIG_HOME/gtk-2.0/gtkrc";
|
||||
}
|
||||
|
||||
Generated
+107
-444
@@ -4,31 +4,27 @@
|
||||
"inputs": {
|
||||
"corefonts": "corefonts",
|
||||
"crane": "crane",
|
||||
"elemental-wine-source": "elemental-wine-source",
|
||||
"fenix": "fenix",
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-parts": "flake-parts",
|
||||
"git-hooks": "git-hooks",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-wine": "nixpkgs-wine",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"on-linux": "on-linux",
|
||||
"plugin-loader-src": "plugin-loader-src",
|
||||
"plugin-loader-v030-src": "plugin-loader-v030-src",
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
"treefmt-nix": "treefmt-nix",
|
||||
"windows-rs": "windows-rs",
|
||||
"wintypes_shim": "wintypes_shim"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1791817262,
|
||||
"narHash": "sha256-emQQYtsQu2xpHKwDnyCu3ZiNRhJeQ/QqHeFV5wAixlg=",
|
||||
"owner": "Meo98",
|
||||
"repo": "affinity-nix-fork",
|
||||
"rev": "266d3ebf76da365f6431bddc493338d1978bb340",
|
||||
"lastModified": 1792710311,
|
||||
"narHash": "sha256-Uyd6UpHOZ6ly18cIlWz6HBIw5TfV4lCqVpcr01Lzer0=",
|
||||
"owner": "mrshmllow",
|
||||
"repo": "affinity-nix",
|
||||
"rev": "69c5cb42a7dd596027183776d82bf206d732fc91",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Meo98",
|
||||
"repo": "affinity-nix-fork",
|
||||
"owner": "mrshmllow",
|
||||
"repo": "affinity-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
@@ -55,11 +51,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1792597217,
|
||||
"narHash": "sha256-jawxmQ7cZb15Wo1swnc8cLJy63d+1ocDSPX7vafP6w8=",
|
||||
"lastModified": 1793743605,
|
||||
"narHash": "sha256-P0mEatSGxafaOJq0U2KCXHdLOEVceTx35nFxOp0bBEU=",
|
||||
"owner": "kem-a",
|
||||
"repo": "AppManager",
|
||||
"rev": "6119148ab8705f21cb1c5abd7b2e506926fbfd4d",
|
||||
"rev": "c42aaeabbc52d24c6be52a38b30057e89507ca9d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -68,30 +64,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"bun2nix": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_2",
|
||||
"nixpkgs": [
|
||||
"gloomberb",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": "systems",
|
||||
"treefmt-nix": "treefmt-nix_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1784665499,
|
||||
"narHash": "sha256-9BMxlTxCCDAeoNLtb1a/st7udtTIJep+wpUzquA29VU=",
|
||||
"owner": "nix-community",
|
||||
"repo": "bun2nix",
|
||||
"rev": "0f2a1f0b6f42cebe3b149bf62d38754c5e0e9729",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "bun2nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"cheatengine": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -99,11 +71,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1792553252,
|
||||
"narHash": "sha256-3J6IUv6O7YWfFtcy8HmdgQojFvbvHH27WapR1ZYkPbY=",
|
||||
"lastModified": 1793686912,
|
||||
"narHash": "sha256-nnLCzs010xF4pU7UyqcY8M9CNcLmGs6I+1FvCtnCcv4=",
|
||||
"owner": "Hy4ri",
|
||||
"repo": "cheatengine-flake",
|
||||
"rev": "00d6b8308ce5b6d9dfce0c0dd8f7e676dc15e27b",
|
||||
"rev": "81eb884d5a67eba90c5c690f79d381a1270ce990",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -130,11 +102,11 @@
|
||||
},
|
||||
"crane": {
|
||||
"locked": {
|
||||
"lastModified": 1778106249,
|
||||
"narHash": "sha256-cM/AuKy5tMhwOOQIbha8ZRRMHVfNf7cv2aljIw+qoCg=",
|
||||
"lastModified": 1792350552,
|
||||
"narHash": "sha256-292lvpvxTGKryKxh3/3tcIVi85CwYGdl4oOi113Sob8=",
|
||||
"owner": "ipetkov",
|
||||
"repo": "crane",
|
||||
"rev": "6d015ea29630b7ad2402841386da2cb617a470a7",
|
||||
"rev": "e675a36b7377bebe41d548388a2501cbb16d380d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -143,47 +115,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"elemental-wine-source": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"host": "gitlab.winehq.org",
|
||||
"lastModified": 1722747031,
|
||||
"narHash": "sha256-XVhz9p2kgFBoJ376vg8OaFXxcMEjAe9AK1hk0I1rb1Q=",
|
||||
"owner": "ElementalWarrior",
|
||||
"repo": "wine",
|
||||
"rev": "a7c9b19e1a26cf49c63a7c19189a3e2bbe2c6ac2",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
"host": "gitlab.winehq.org",
|
||||
"owner": "ElementalWarrior",
|
||||
"ref": "affinity-photo3-wine9.13-part3",
|
||||
"repo": "wine",
|
||||
"type": "gitlab"
|
||||
}
|
||||
},
|
||||
"fenix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"affinity-nix",
|
||||
"nixpkgs"
|
||||
],
|
||||
"rust-analyzer-src": "rust-analyzer-src"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1777969788,
|
||||
"narHash": "sha256-8sr3w0KyQ0K7TEd8pYwYrxiDk0GZ4A7iIcl1lsxlzVM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "fenix",
|
||||
"rev": "3abc2d5559f4dc30c710ab152abcb4cb60b561ba",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "fenix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"locked": {
|
||||
"lastModified": 1751685974,
|
||||
@@ -214,22 +145,6 @@
|
||||
}
|
||||
},
|
||||
"flake-compat_3": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1767039857,
|
||||
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
|
||||
"owner": "NixOS",
|
||||
"repo": "flake-compat",
|
||||
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_4": {
|
||||
"locked": {
|
||||
"lastModified": 1733328505,
|
||||
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
||||
@@ -247,46 +162,6 @@
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1777988971,
|
||||
"narHash": "sha256-qIoWPDs+0/8JecyYgE3gpKQxW/4bLW/gp45vow9ioCQ=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "0678d8986be1661af6bb555f3489f2fdfc31f6ff",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_2": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"gloomberb",
|
||||
"bun2nix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1782949081,
|
||||
"narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_3": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1790898470,
|
||||
"narHash": "sha256-zTwuwezD0w3hpga6a6P8emidzAZFyWqlNeRBlpWOOl8=",
|
||||
@@ -303,7 +178,7 @@
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
@@ -342,7 +217,7 @@
|
||||
},
|
||||
"flake-utils_3": {
|
||||
"inputs": {
|
||||
"systems": "systems_4"
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
@@ -361,15 +236,14 @@
|
||||
"git-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_2",
|
||||
"gitignore": "gitignore",
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1776796298,
|
||||
"narHash": "sha256-PcRvlWayisPSjd0UcRQbhG8Oqw78AcPE6x872cPRHN8=",
|
||||
"lastModified": 1791909798,
|
||||
"narHash": "sha256-VAhpCOmrun/KXimYfR8NM88bciKCui7CqHHhThSzgag=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "3cfd774b0a530725a077e17354fbdb87ea1c4aad",
|
||||
"rev": "1ba1dbfe28738c9a71c266be6efa5b89e75491a9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -378,70 +252,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"git-hooks_2": {
|
||||
"inputs": {
|
||||
"flake-compat": [
|
||||
"nix-gaming",
|
||||
"flake-compat"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"nix-gaming",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1790500375,
|
||||
"narHash": "sha256-XN3sDtn8TU9hAc9xqZ+SqRB/HHm2wjxM6aSWYLJU+oo=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "a0e4241b51206fbcbf52fd322eb5f0cd80f153c4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"affinity-nix",
|
||||
"git-hooks",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709087332,
|
||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gloomberb": {
|
||||
"inputs": {
|
||||
"bun2nix": "bun2nix",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"path": "./packages/gloomberb",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
"path": "./packages/gloomberb",
|
||||
"type": "path"
|
||||
},
|
||||
"parent": []
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -449,11 +259,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1792668857,
|
||||
"narHash": "sha256-chUrnAqBhBLvXBUsLFxFYBIl8c0GWp06wdjmAMS8l+U=",
|
||||
"lastModified": 1793757180,
|
||||
"narHash": "sha256-gyV7AtCwLnOImcrfSETP4J3Ie96bz19DY47B7m7Y3HM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "cb7de2c7e589afe7531d4832c71ad4df144624ea",
|
||||
"rev": "b787c48e2ec57a9d098f5c2721882a3bc1e16f97",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -484,45 +294,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"millennium": {
|
||||
"inputs": {
|
||||
"millennium-src": "millennium-src",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"nixpkgs-bun": "nixpkgs-bun"
|
||||
},
|
||||
"locked": {
|
||||
"dir": "packages/nix",
|
||||
"lastModified": 1792357572,
|
||||
"narHash": "sha256-2krnWSUcN06EYtUKqFxkbSIQP6NAfhMOrgnxZXB+dcc=",
|
||||
"owner": "SteamClientHomebrew",
|
||||
"repo": "Millennium",
|
||||
"rev": "f7a356f6789bc7d23f44bfbcdd95c71f0385cc1a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"dir": "packages/nix",
|
||||
"owner": "SteamClientHomebrew",
|
||||
"repo": "Millennium",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"millennium-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1792357406,
|
||||
"narHash": "sha256-We8OIJP/5q0nv2RVHQYfjRaHK6ZQuSM88eKa9BezUPk=",
|
||||
"owner": "SteamClientHomebrew",
|
||||
"repo": "Millennium",
|
||||
"rev": "88fb7c16d04d162cb3e94beedb11a51705ec03fb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "SteamClientHomebrew",
|
||||
"repo": "Millennium",
|
||||
"rev": "88fb7c16d04d162cb3e94beedb11a51705ec03fb",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-darwin": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -530,11 +301,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1792667976,
|
||||
"narHash": "sha256-qlW9xfM0TFDIU6wGTXfTZ2xSgvgOlV89YHdvfjQ+e0Q=",
|
||||
"lastModified": 1793418699,
|
||||
"narHash": "sha256-+RpTlcdh9KqZ+ZiLkNSTvibQWm935EcIdBzRPCTFsrQ=",
|
||||
"owner": "nix-darwin",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "38cf0abb072c30fff68da0e3f516fc8a7cfb8fc0",
|
||||
"rev": "ff0e21a414d4547183396da1b44a66f2577b65e9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -559,36 +330,13 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-gaming": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_3",
|
||||
"flake-parts": "flake-parts_3",
|
||||
"git-hooks": "git-hooks_2",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1792469825,
|
||||
"narHash": "sha256-yZzRSNogTrbYjLNHiRMphZGIVcTHbXWSID37oPBbrEw=",
|
||||
"owner": "fufexan",
|
||||
"repo": "nix-gaming",
|
||||
"rev": "0405c59de63e8b74d11dcc420f65ead938ea6ec6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "fufexan",
|
||||
"repo": "nix-gaming",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1770073757,
|
||||
"narHash": "sha256-Vy+G+F+3E/Tl+GMNgiHl9Pah2DgShmIUBJXmbiQPHbI=",
|
||||
"lastModified": 1787631388,
|
||||
"narHash": "sha256-vMiXptXarfSdJb1Gkc+FYVOAibuBRj7qxGa8z68q1Uw=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "47472570b1e607482890801aeaf29bfb749884f6",
|
||||
"rev": "ac6b2166e7a9375683b8e98f860f273222337b16",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -598,22 +346,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-bun": {
|
||||
"locked": {
|
||||
"lastModified": 1790822859,
|
||||
"narHash": "sha256-69xHQhAeMAD2wDXO7T2pcOZIF9Sga2W+JkmY2a11Ops=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "c59305bab2065cfecc4944690d9eedbb56f3a9fa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "c59305bab2065cfecc4944690d9eedbb56f3a9fa",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-darwin-x64": {
|
||||
"locked": {
|
||||
"lastModified": 1788334797,
|
||||
@@ -631,21 +363,6 @@
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib": {
|
||||
"locked": {
|
||||
"lastModified": 1777168982,
|
||||
"narHash": "sha256-GOkGPcboWE9BmGCRMLX3worL4EMnsnG8MyKmXNeYuhQ=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"rev": "f5901329dade4a6ea039af1433fb087bd9c1fe14",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib_2": {
|
||||
"locked": {
|
||||
"lastModified": 1790477367,
|
||||
"narHash": "sha256-oujbxmVKDhci2E4EM3KyAbRUgp5/IsCoiA/LfEF7OOk=",
|
||||
@@ -660,39 +377,23 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-wine": {
|
||||
"locked": {
|
||||
"lastModified": 1735834308,
|
||||
"narHash": "sha256-dklw3AXr3OGO4/XT1Tu3Xz9n/we8GctZZ75ZWVqAVhk=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "6df24922a1400241dae323af55f30e4318a6ca65",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "6df24922a1400241dae323af55f30e4318a6ca65",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-xr": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_4",
|
||||
"flake-compat": "flake-compat_3",
|
||||
"flake-utils": "flake-utils_2",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nvfetcher": "nvfetcher",
|
||||
"systems": "systems_3",
|
||||
"treefmt-nix": "treefmt-nix_3"
|
||||
"systems": "systems_2",
|
||||
"treefmt-nix": "treefmt-nix_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1792380357,
|
||||
"narHash": "sha256-deMmYXMlf7BnA2qSDk3gFqVjBQeBnW8689/qG3aUPAc=",
|
||||
"lastModified": 1793768445,
|
||||
"narHash": "sha256-jMMSzsfPFmsX4d6YEDZqHF2BpJmuSMiMaeyqhHA6vZ8=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs-xr",
|
||||
"rev": "8d169c67d1e73b8721711b3750ef75ba205e7fe1",
|
||||
"rev": "5243cdffccd2b40b76e5116ad498bbbcb629a84f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -703,11 +404,27 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1770107345,
|
||||
"narHash": "sha256-tbS0Ebx2PiA1FRW8mt8oejR0qMXmziJmPaU1d4kYY9g=",
|
||||
"lastModified": 1791048980,
|
||||
"narHash": "sha256-KgItSKML8Xvte0B7/uGnBDsYzSnnKHcOaiUbgWBXLXw=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4533d9293756b63904b7238acb84ac8fe4c8c2c4",
|
||||
"rev": "a7868a727837f3c09cee2ce0ca671c76b1589fed",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1790149054,
|
||||
"narHash": "sha256-FfjXg6mAzKQBCY+7V9keGWOXG4DV2Eym/qA987lFl8A=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "8825bebf6324e0579d012936eff73379af284b6d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -717,26 +434,13 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1790769526,
|
||||
"narHash": "sha256-6j4yqqBUvIbBn29k0y/2jqlv/YJd8CRkTBYhfm5Z/8c=",
|
||||
"rev": "c9fe7d12cd78d1adcd12dd15e24432dde5b155a0",
|
||||
"type": "tarball",
|
||||
"url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.11pre1082837.c9fe7d12cd78/nixexprs.tar.zst?lastModified=1790769526&rev=c9fe7d12cd78d1adcd12dd15e24432dde5b155a0"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.zst"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1792502884,
|
||||
"narHash": "sha256-IoNisKcGbUjdd45qCqywGMCYmZ5EnkxezvLII0FWwNA=",
|
||||
"lastModified": 1793726008,
|
||||
"narHash": "sha256-jQp1wKvbwWdLBASTXkSi/VYmDJ5AbBi1WvcMt9HWJC8=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "02c087f3fe673c9e317f206a627cb6b910336dbe",
|
||||
"rev": "1d060086d60cb76a40cf37109f979d88a5bd6396",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -779,11 +483,11 @@
|
||||
"on-linux": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1772699425,
|
||||
"narHash": "sha256-xhqkN2I5r+Ty2k8HEsLg5e8Eaazb0Qyioqjs87BQOnY=",
|
||||
"lastModified": 1787435510,
|
||||
"narHash": "sha256-ENn1Xh+JR+6ITt3oe4DC0EiTT2b6PErPQTFPkYQRJBA=",
|
||||
"owner": "seapear",
|
||||
"repo": "AffinityOnLinux",
|
||||
"rev": "a0c4421946709c24c3f371fcbf15a45b814f188c",
|
||||
"rev": "4dd5635eab8502bd4653e2e478478af04ff84449",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -831,36 +535,16 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"plugin-loader-v030-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1775508798,
|
||||
"narHash": "sha256-cD2G3M83wCEXVMMl9YoHMLxPIvbXeESgQTkXiM+lzns=",
|
||||
"owner": "noahc3",
|
||||
"repo": "AffinityPluginLoader",
|
||||
"rev": "bd93bbf9f84735d8ba6538596620bbe8d8b90efd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "noahc3",
|
||||
"ref": "v0.3.0",
|
||||
"repo": "AffinityPluginLoader",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"affinity-nix": "affinity-nix",
|
||||
"affinity-thumbnailer-kde": "affinity-thumbnailer-kde",
|
||||
"appimage-manager": "appimage-manager",
|
||||
"cheatengine": "cheatengine",
|
||||
"gloomberb": "gloomberb",
|
||||
"home-manager": "home-manager",
|
||||
"lazyvim": "lazyvim",
|
||||
"millennium": "millennium",
|
||||
"nix-darwin": "nix-darwin",
|
||||
"nix-flatpak": "nix-flatpak",
|
||||
"nix-gaming": "nix-gaming",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"nixpkgs-xr": "nixpkgs-xr",
|
||||
"pi": "pi",
|
||||
@@ -869,23 +553,6 @@
|
||||
"xivlauncher-rb": "xivlauncher-rb"
|
||||
}
|
||||
},
|
||||
"rust-analyzer-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1777924689,
|
||||
"narHash": "sha256-9Z0puLyCSYvtYhP1IZMxC05DSgwA+5rE99jsv1KErc4=",
|
||||
"owner": "rust-lang",
|
||||
"repo": "rust-analyzer",
|
||||
"rev": "91c7c2c4ca6a0520cfbf97e369e4fb7bf0b63b7a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "rust-lang",
|
||||
"ref": "nightly",
|
||||
"repo": "rust-analyzer",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"scopebuddy": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -913,11 +580,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1792308394,
|
||||
"narHash": "sha256-r4G33ygU307QCwyngAS6E9BMhnCRPyZrL7UxRCMrqo0=",
|
||||
"lastModified": 1793657466,
|
||||
"narHash": "sha256-GoOvpdsjO5hqZuO6T6ok9u6sJEjO0iPli2zRr9oNUNw=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "a1438ca361b05d1e70854d5495abcb34fdf6ff47",
|
||||
"rev": "b18e01ce148eb3efff5de2f2d3181ca53b2b2a54",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -927,21 +594,6 @@
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1776166891,
|
||||
"narHash": "sha256-bI8yrEGjrohR5hkQox7UrxDH7XqrYMwI8SL/LrJ1+S8=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "triplet",
|
||||
"rev": "6de7bc09397911ce03636afbcf6118745ab2cda0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "triplet",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
@@ -956,7 +608,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_3": {
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
@@ -971,7 +623,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_4": {
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
@@ -988,14 +640,14 @@
|
||||
},
|
||||
"treefmt-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1775636079,
|
||||
"narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=",
|
||||
"lastModified": 1791885023,
|
||||
"narHash": "sha256-C3alQ2MEt0zVrUSho5NUDo3jmhbff72++bfwoqT9Omo=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba",
|
||||
"rev": "0d6d739a833ba9a9c93034862e4a7b061a062a1c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1005,28 +657,6 @@
|
||||
}
|
||||
},
|
||||
"treefmt-nix_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"gloomberb",
|
||||
"bun2nix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1784369104,
|
||||
"narHash": "sha256-47cxbcZODibHv3rELFQ9vZly0vUNkND/atn/U7HLeb0=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "df3c0640565d04a0261253cdd89fce78ec50168a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"treefmt-nix_3": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs-xr",
|
||||
@@ -1047,6 +677,39 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"windows-rs": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1771531570,
|
||||
"narHash": "sha256-UmhpbCd3+0We7JiXFXgcS8jWMnZI2NRqPOs+UOsjrUc=",
|
||||
"owner": "microsoft",
|
||||
"repo": "windows-rs",
|
||||
"rev": "628f84c51645217c7a06a20774ea1275dc7270ca",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "microsoft",
|
||||
"repo": "windows-rs",
|
||||
"rev": "628f84c51645217c7a06a20774ea1275dc7270ca",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"wintypes_shim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1750396180,
|
||||
"narHash": "sha256-E3go8SmUkAWrxQnr852WQB0huzdkO7CWiuB8Q2QyMZ4=",
|
||||
"owner": "ElementalWarrior",
|
||||
"repo": "wine-wintypes.dll-for-affinity",
|
||||
"rev": "f8a2d42ba3abc5dcdc584daa6728a2fa019be72e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "ElementalWarrior",
|
||||
"repo": "wine-wintypes.dll-for-affinity",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"xivlauncher-core-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
affinity-nix.url = "github:mrshmllow/affinity-nix";
|
||||
|
||||
sops-nix = {
|
||||
url = "github:Mic92/sops-nix";
|
||||
@@ -17,20 +18,11 @@
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
millennium = {
|
||||
url = "github:SteamClientHomebrew/Millennium?dir=packages/nix";
|
||||
};
|
||||
|
||||
scopebuddy = {
|
||||
url = "github:HikariKnight/ScopeBuddy";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
nix-gaming = {
|
||||
url = "github:fufexan/nix-gaming";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
nixpkgs-xr = {
|
||||
url = "github:nix-community/nixpkgs-xr";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
@@ -41,11 +33,6 @@
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
affinity-nix = {
|
||||
url = "github:Meo98/affinity-nix-fork";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
nix-flatpak = {
|
||||
url = "github:gmodena/nix-flatpak/?ref=latest";
|
||||
};
|
||||
@@ -60,11 +47,6 @@
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
gloomberb = {
|
||||
url = "./packages/gloomberb";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
@@ -86,33 +68,78 @@
|
||||
self,
|
||||
nixpkgs,
|
||||
nixpkgs-xr,
|
||||
affinity-nix,
|
||||
nix-darwin,
|
||||
nix-flatpak,
|
||||
home-manager,
|
||||
affinity-nix,
|
||||
sops-nix,
|
||||
affinity-thumbnailer-kde,
|
||||
millennium,
|
||||
cheatengine,
|
||||
xivlauncher-rb,
|
||||
gloomberb,
|
||||
...
|
||||
}:
|
||||
let
|
||||
home-manager-configuration = { home-manager, ... }: {
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
extraSpecialArgs = { inherit inputs; };
|
||||
users.frank = ./home/frank.nix;
|
||||
};
|
||||
};
|
||||
|
||||
trusted-users-configuration = { nix, ... }: {
|
||||
nix.settings.trusted-users = [ "frank" ];
|
||||
trusted-users-configuration = { nix, config, ... }: {
|
||||
nix.settings.trusted-users = [ config.users.users.frank.name ];
|
||||
};
|
||||
|
||||
systems = [
|
||||
"x86_64-linux"
|
||||
"aarch64-darwin"
|
||||
];
|
||||
|
||||
forAllSystems = nixpkgs.lib.genAttrs systems;
|
||||
|
||||
packagesFor =
|
||||
system:
|
||||
let
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
in
|
||||
nixpkgs.lib.optionalAttrs pkgs.stdenv.hostPlatform.isLinux {
|
||||
heidisql = pkgs.callPackage ./packages/heidisql/package.nix { };
|
||||
aseprite-thumbnailer-kde = pkgs.callPackage ./packages/aseprite-thumbnailer-kde/package.nix { };
|
||||
};
|
||||
|
||||
formatterFor =
|
||||
system:
|
||||
let
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
in
|
||||
pkgs.writeShellApplication {
|
||||
name = "nixfmt";
|
||||
runtimeInputs = [ pkgs.nixfmt ];
|
||||
text = ''
|
||||
flags=()
|
||||
paths=()
|
||||
for arg in "$@"; do
|
||||
case "$arg" in
|
||||
-*) flags+=("$arg") ;;
|
||||
*) paths+=("$arg") ;;
|
||||
esac
|
||||
done
|
||||
if [ "''${#paths[@]}" -eq 0 ]; then
|
||||
if git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
|
||||
mapfile -t paths < <(git ls-files '*.nix')
|
||||
else
|
||||
mapfile -t paths < <(find . -name '*.nix' -not -path './.devenv/*')
|
||||
fi
|
||||
fi
|
||||
nixfmt "''${flags[@]}" "''${paths[@]}"
|
||||
'';
|
||||
};
|
||||
in
|
||||
{
|
||||
packages = forAllSystems packagesFor;
|
||||
|
||||
formatter = forAllSystems formatterFor;
|
||||
nixosConfigurations = {
|
||||
nero = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = { inherit inputs; };
|
||||
|
||||
+48
-21
@@ -8,9 +8,36 @@
|
||||
imports = [
|
||||
inputs.lazyvim.homeManagerModules.default
|
||||
../features/starship.nix
|
||||
../features/home-env.nix
|
||||
];
|
||||
|
||||
home.shellAliases = import ../features/aliases.nix { inherit pkgs; };
|
||||
home = {
|
||||
stateVersion = "26.05";
|
||||
shellAliases = import ../features/aliases.nix { inherit pkgs; };
|
||||
packages = with pkgs; [ ticker ];
|
||||
|
||||
file = {
|
||||
".ticker.yaml".text = ''
|
||||
show-summary: true
|
||||
show-tags: true
|
||||
show-fundamentals: true
|
||||
show-separator: true
|
||||
show-positions: true
|
||||
interval: 5
|
||||
currency: USD
|
||||
currency-summary-only: false
|
||||
watchlist:
|
||||
- AAPL
|
||||
- GOOG
|
||||
- INTC
|
||||
- AMD
|
||||
- MSFT
|
||||
- ^IXIC
|
||||
- ^GSPC
|
||||
- ^DJI
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
xdg =
|
||||
if pkgs.stdenv.hostPlatform.isDarwin then
|
||||
@@ -54,6 +81,7 @@
|
||||
enable = true;
|
||||
|
||||
initExtra = ''
|
||||
eval "$(jump shell)"
|
||||
eval "$(devenv hook bash)"
|
||||
clear;fastfetch
|
||||
'';
|
||||
@@ -63,8 +91,12 @@
|
||||
if pkgs.stdenv.hostPlatform.isDarwin then
|
||||
{
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
autosuggestion.enable = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
|
||||
initContent = ''
|
||||
eval "$(jump shell)"
|
||||
eval "$(devenv hook zsh)"
|
||||
clear;fastfetch
|
||||
'';
|
||||
@@ -105,12 +137,26 @@
|
||||
enable = true;
|
||||
enableDefaultConfig = false;
|
||||
|
||||
settings."*" = {
|
||||
settings = {
|
||||
"*" = {
|
||||
IdentityFile = [
|
||||
osConfig.sops.secrets."personal_ssh_key_ed25519".path
|
||||
osConfig.sops.secrets."work_ssh_key_rsa".path
|
||||
];
|
||||
};
|
||||
|
||||
"daguerro.net" = {
|
||||
User = "almalinux";
|
||||
};
|
||||
|
||||
"panel.daguerro.net" = {
|
||||
User = "floturcocantsee";
|
||||
};
|
||||
|
||||
"voffice.picerne.com" = {
|
||||
User = "pdcadmin";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
lazyvim = {
|
||||
@@ -127,23 +173,6 @@
|
||||
'';
|
||||
};
|
||||
|
||||
plugins = {
|
||||
colorscheme = ''
|
||||
return {
|
||||
{
|
||||
"LazyVim/LazyVim",
|
||||
opts = { colorscheme = "tokyonight-day" },
|
||||
},
|
||||
{
|
||||
"folke/tokyonight.nvim",
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
opts = { style = "day" },
|
||||
},
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
extras = {
|
||||
lang = {
|
||||
nix.enable = true;
|
||||
@@ -192,6 +221,4 @@
|
||||
hinting = "slight";
|
||||
};
|
||||
};
|
||||
|
||||
home.stateVersion = "26.05";
|
||||
}
|
||||
|
||||
@@ -1,19 +1,10 @@
|
||||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{ _, ... }:
|
||||
{
|
||||
imports = [
|
||||
../shared/darwin.nix
|
||||
];
|
||||
|
||||
environment = {
|
||||
systemPackages = with pkgs; [
|
||||
bash-language-server
|
||||
nil
|
||||
devenv
|
||||
];
|
||||
|
||||
shellAliases = {
|
||||
"nix-rebuild" = "sudo darwin-rebuild switch --flake /etc/nix-darwin/.#franks-macbook-pro";
|
||||
};
|
||||
|
||||
@@ -9,19 +9,13 @@
|
||||
../shared/nixos-pc.nix
|
||||
../../features/kde.nix
|
||||
../../features/flatpak.nix
|
||||
../../features/keyd.nix
|
||||
];
|
||||
|
||||
nixpkgs.overlays = [
|
||||
inputs.millennium.overlays.default
|
||||
inputs.cheatengine.overlays.default
|
||||
];
|
||||
|
||||
boot = {
|
||||
kernelParams = [
|
||||
"video=DP-2:1152x864@75"
|
||||
];
|
||||
};
|
||||
|
||||
networking.hostName = "nero";
|
||||
|
||||
services = {
|
||||
@@ -31,6 +25,10 @@
|
||||
|
||||
flatpak = {
|
||||
packages = [
|
||||
{
|
||||
appId = "org.comfy.ComfyDesktop";
|
||||
origin = "flatpark";
|
||||
}
|
||||
{
|
||||
appId = "com.discordapp.Discord";
|
||||
origin = "flathub";
|
||||
@@ -47,10 +45,6 @@
|
||||
appId = "com.vysp3r.ProtonPlus";
|
||||
origin = "flathub";
|
||||
}
|
||||
{
|
||||
appId = "org.ghidra_sre.Ghidra";
|
||||
origin = "flathub";
|
||||
}
|
||||
{
|
||||
appId = "io.github.ryubing.Ryujinx";
|
||||
origin = "flathub";
|
||||
@@ -74,7 +68,6 @@
|
||||
|
||||
steam = {
|
||||
enable = true;
|
||||
package = pkgs.millennium-steam;
|
||||
remotePlay.openFirewall = true;
|
||||
extraPackages = [ pkgs.hidapi ];
|
||||
};
|
||||
@@ -88,7 +81,9 @@
|
||||
{
|
||||
hostName = "vergil.cfl.rr.com";
|
||||
sshUser = "remotebuild";
|
||||
sshKey = config.sops.secrets."remotebuild_ssh_key_rsa".path;
|
||||
|
||||
sshKey = config.sops.secrets."personal_ssh_key_ed25519".path;
|
||||
|
||||
system = pkgs.stdenv.hostPlatform.system;
|
||||
protocol = "ssh-ng";
|
||||
maxJobs = 24;
|
||||
@@ -105,20 +100,12 @@
|
||||
];
|
||||
};
|
||||
|
||||
virtualisation.docker.daemon.settings.features.cdi = true;
|
||||
|
||||
environment = {
|
||||
sessionVariables = {
|
||||
AVALONIA_SCREEN_SCALE_FACTORS = "HDMI-A-1=2.0;DP-1=2.0;DP-2=2.0;DP-3=2.0";
|
||||
};
|
||||
|
||||
systemPackages = with pkgs; [
|
||||
mangohud
|
||||
gamescope
|
||||
gamescope-wsi
|
||||
cheatengine
|
||||
lsfg-vk
|
||||
lsfg-vk-ui
|
||||
qbittorrent
|
||||
aseprite
|
||||
|
||||
|
||||
@@ -27,23 +27,6 @@
|
||||
extraModulePackages = [ ];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/fileshare" = {
|
||||
device = "frank@vergil.cfl.rr.com:/mnt/shares";
|
||||
fsType = "sshfs";
|
||||
|
||||
options = [
|
||||
"uid=1000"
|
||||
"gid=1000"
|
||||
"default_permissions"
|
||||
"allow_other"
|
||||
"_netdev"
|
||||
"x-systemd.automount"
|
||||
"reconnect"
|
||||
"ServerAliveInterval=15"
|
||||
"IdentityFile=${config.sops.secrets.personal_ssh_key_ed25519.path}"
|
||||
];
|
||||
};
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
|
||||
hardware = {
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
../shared/nixos-pc.nix
|
||||
../../features/kde.nix
|
||||
../../features/flatpak.nix
|
||||
../../features/keyd.nix
|
||||
];
|
||||
|
||||
boot = {
|
||||
@@ -22,23 +23,6 @@
|
||||
services = {
|
||||
printing.enable = true;
|
||||
|
||||
keyd = {
|
||||
enable = true;
|
||||
|
||||
keyboards = {
|
||||
default = {
|
||||
ids = [ "*" ];
|
||||
|
||||
settings = {
|
||||
main = {
|
||||
capslock = "leftcontrol";
|
||||
insert = "S-insert";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
flatpak = {
|
||||
packages = [
|
||||
{
|
||||
|
||||
+5
-26
@@ -5,39 +5,18 @@
|
||||
../../features/sops.nix
|
||||
];
|
||||
|
||||
programs.zsh.enable = true;
|
||||
|
||||
# Only use homebrew for casks.
|
||||
homebrew.enable = true;
|
||||
|
||||
# Enables Touch ID for sudo prompts.
|
||||
security.pam.services.sudo_local.touchIdAuth = true;
|
||||
|
||||
programs = {
|
||||
zsh = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
enableAutosuggestions = true;
|
||||
enableSyntaxHighlighting = true;
|
||||
|
||||
interactiveShellInit = ''
|
||||
eval "$(jump shell)"
|
||||
eval "$(devenv hook zsh)"
|
||||
clear;fastfetch
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
environment = {
|
||||
shellAliases = import ../../features/aliases.nix { };
|
||||
variables = import ../../features/xdg.nix { };
|
||||
|
||||
systemPackages = with pkgs; [
|
||||
wget
|
||||
btop
|
||||
nerd-fonts.hack
|
||||
devenv
|
||||
ripgrep
|
||||
fastfetch
|
||||
];
|
||||
shellAliases = import ../../features/aliases.nix { inherit pkgs; };
|
||||
variables = import ../../features/xdg.nix { inherit pkgs; };
|
||||
systemPackages = import ../../features/common-pkgs.nix { inherit pkgs; };
|
||||
};
|
||||
|
||||
# Don't touch this unless needed.
|
||||
|
||||
+25
-26
@@ -1,14 +1,12 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
../../features/bash.nix
|
||||
../../features/nix-ld.nix
|
||||
../../features/docker.nix
|
||||
../../features/podman.nix
|
||||
../../features/vim.nix
|
||||
../../features/avahi.nix
|
||||
../../features/systemd-boot.nix
|
||||
@@ -20,6 +18,8 @@
|
||||
./nix-package-manager.nix
|
||||
];
|
||||
|
||||
nixpkgs.overlays = [ inputs.affinity-nix.overlays.default ];
|
||||
|
||||
boot = {
|
||||
consoleLogLevel = 3;
|
||||
|
||||
@@ -29,10 +29,6 @@
|
||||
"rd.systemd.show_status=auto"
|
||||
];
|
||||
|
||||
initrd = {
|
||||
verbose = false;
|
||||
};
|
||||
|
||||
kernelModules = [
|
||||
"ntsync"
|
||||
];
|
||||
@@ -54,6 +50,14 @@
|
||||
services = {
|
||||
flatpak = {
|
||||
packages = [
|
||||
{
|
||||
appId = "com.blackmagic.Resolve";
|
||||
origin = "flatpark";
|
||||
}
|
||||
{
|
||||
appId = "io.github.HakanSeven12.OpenCadStudio";
|
||||
origin = "flatpark";
|
||||
}
|
||||
{
|
||||
appId = "io.github.ungoogled_software.ungoogled_chromium";
|
||||
origin = "flathub";
|
||||
@@ -69,8 +73,8 @@
|
||||
snapshotInterval = "hourly";
|
||||
cleanupInterval = "1d";
|
||||
configs = {
|
||||
home = {
|
||||
SUBVOLUME = "/home";
|
||||
nixos = {
|
||||
SUBVOLUME = "/";
|
||||
TIMELINE_CREATE = true;
|
||||
TIMELINE_CLEANUP = true;
|
||||
TIMELINE_LIMIT_HOURLY = "10";
|
||||
@@ -102,10 +106,15 @@
|
||||
enable = true;
|
||||
pulse.enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = lib.mkForce false;
|
||||
};
|
||||
|
||||
openssh.enable = true;
|
||||
openssh = {
|
||||
enable = true;
|
||||
settings = {
|
||||
PasswordAuthentication = false;
|
||||
KbdInteractiveAuthentication = false;
|
||||
};
|
||||
};
|
||||
affinity-thumbnailer.enable = true;
|
||||
};
|
||||
|
||||
@@ -136,6 +145,8 @@
|
||||
security.rtkit.enable = true;
|
||||
|
||||
programs = {
|
||||
bash.enable = true;
|
||||
|
||||
firefox.enable = true;
|
||||
|
||||
gnupg.agent = {
|
||||
@@ -149,19 +160,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
nixpkgs = {
|
||||
# Fix msitools compiling and failing it's test-suite.
|
||||
overlays = [
|
||||
(final: prev: {
|
||||
msitools = prev.msitools.overrideAttrs (old: {
|
||||
doCheck = false;
|
||||
});
|
||||
})
|
||||
|
||||
inputs.affinity-nix.overlays.default
|
||||
];
|
||||
};
|
||||
|
||||
environment = {
|
||||
systemPackages =
|
||||
import ../../features/common-pkgs.nix { inherit pkgs; }
|
||||
@@ -173,16 +171,17 @@
|
||||
hunspell
|
||||
hunspellDicts.en_US
|
||||
hyphenDicts.en_US
|
||||
affinity-v3
|
||||
libreoffice-qt
|
||||
qimgv
|
||||
mpv
|
||||
vorta
|
||||
distrobox
|
||||
rtk
|
||||
inkscape
|
||||
affinity-v3
|
||||
unsloth-desktop
|
||||
|
||||
inputs.appimage-manager.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||
inputs.gloomberb.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||
inputs.pi.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||
|
||||
(callPackage ../../packages/heidisql/package.nix { })
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
../../features/bash.nix
|
||||
../../features/vim.nix
|
||||
../../features/docker.nix
|
||||
../../features/libvirt.nix
|
||||
@@ -17,8 +16,16 @@
|
||||
./nix-package-manager.nix
|
||||
];
|
||||
|
||||
programs.bash.enable = true;
|
||||
|
||||
services = {
|
||||
openssh.enable = true;
|
||||
openssh = {
|
||||
enable = true;
|
||||
settings = {
|
||||
PasswordAuthentication = false;
|
||||
KbdInteractiveAuthentication = false;
|
||||
};
|
||||
};
|
||||
resolved.enable = false;
|
||||
};
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{ pkgs, utils, ... }:
|
||||
let
|
||||
disk = "/dev/storage/vm-100-disk-0";
|
||||
diskDevice = "${utils.escapeSystemdPath disk}.device";
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
../shared/nixos-server.nix
|
||||
@@ -11,14 +11,14 @@
|
||||
|
||||
systemd.services.mount-vm-disk = {
|
||||
description = "Mount Proxmox VM disk via kpartx";
|
||||
after = [ "storage-vm--100--disk--0.device" ];
|
||||
wants = [ "storage-vm--100--disk--0.device" ];
|
||||
requires = [ diskDevice ];
|
||||
after = [ diskDevice ];
|
||||
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
ExecStart = "${pkgs.multipath-tools}/sbin/kpartx -av /dev/storage/vm-100-disk-0";
|
||||
ExecStop = "${pkgs.multipath-tools}/sbin/kpartx -dv /dev/storage/vm-100-disk-0";
|
||||
ExecStart = "${pkgs.multipath-tools}/sbin/kpartx -av ${disk}";
|
||||
ExecStop = "${pkgs.multipath-tools}/sbin/kpartx -dv ${disk}";
|
||||
};
|
||||
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
@@ -36,8 +36,8 @@
|
||||
"remotebuild" = {
|
||||
isSystemUser = true;
|
||||
group = "remotebuild";
|
||||
shell = pkgs.writeScript "nologin" "#!/bin/sh\necho 'Remote builds only.'";
|
||||
openssh.authorizedKeys.keyFiles = [ config.sops.secrets."remotebuild_ssh_key_rsa.pub".path ];
|
||||
shell = pkgs.bashInteractive;
|
||||
openssh.authorizedKeys.keyFiles = [ ../../keys/personal_ssh_key_ed25519.pub ];
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -40,6 +40,7 @@
|
||||
options = [
|
||||
"noauto"
|
||||
"x-systemd.automount"
|
||||
"x-systemd.requires=mount-vm-disk.service"
|
||||
"x-systemd.after=mount-vm-disk.service"
|
||||
];
|
||||
};
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ5+RJOhvamBpEptCRv90E+8bVWKn6Mep61wDpPYgKP3 floturcocantsee@daguerro.net
|
||||
File diff suppressed because it is too large
Load Diff
Generated
-108
@@ -1,108 +0,0 @@
|
||||
{
|
||||
"nodes": {
|
||||
"bun2nix": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": "systems",
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1784665499,
|
||||
"narHash": "sha256-9BMxlTxCCDAeoNLtb1a/st7udtTIJep+wpUzquA29VU=",
|
||||
"owner": "nix-community",
|
||||
"repo": "bun2nix",
|
||||
"rev": "0f2a1f0b6f42cebe3b149bf62d38754c5e0e9729",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "bun2nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"bun2nix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1782949081,
|
||||
"narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1789006805,
|
||||
"narHash": "sha256-xB8mKMOx1IA9vTDNLmJZ6n4wCMq/cuWBBOzGCRnqxrU=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "8ce4ef6cb6f871616146b9fe26d2a5ae594e94fe",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"bun2nix": "bun2nix",
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1776166891,
|
||||
"narHash": "sha256-bI8yrEGjrohR5hkQox7UrxDH7XqrYMwI8SL/LrJ1+S8=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "triplet",
|
||||
"rev": "6de7bc09397911ce03636afbcf6118745ab2cda0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "triplet",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"treefmt-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"bun2nix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1784369104,
|
||||
"narHash": "sha256-47cxbcZODibHv3rELFQ9vZly0vUNkND/atn/U7HLeb0=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "df3c0640565d04a0261253cdd89fce78ec50168a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
||||
@@ -1,55 +0,0 @@
|
||||
{
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
bun2nix.url = "github:nix-community/bun2nix";
|
||||
bun2nix.inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
outputs =
|
||||
{
|
||||
self,
|
||||
nixpkgs,
|
||||
bun2nix,
|
||||
}:
|
||||
let
|
||||
systems = [
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
];
|
||||
forAll = nixpkgs.lib.genAttrs systems;
|
||||
in
|
||||
{
|
||||
packages = forAll (
|
||||
system:
|
||||
let
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
bun2nix' = bun2nix.packages.${system}.default;
|
||||
in
|
||||
{
|
||||
default = bun2nix'.mkDerivation (finalAttrs: {
|
||||
pname = "gloomberb";
|
||||
version = "0.14.1";
|
||||
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "gloom-sh";
|
||||
repo = "gloomberb";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-CyDsbs379G3qBDS0rCojr/L7TwWYgrXo0KslvNBu3gA=";
|
||||
};
|
||||
|
||||
bunDeps = bun2nix'.fetchBunDeps {
|
||||
bunNix = ./bun.nix;
|
||||
};
|
||||
|
||||
bunInstallFlags = [
|
||||
"--frozen-lockfile"
|
||||
];
|
||||
|
||||
module = "src/index.tsx";
|
||||
|
||||
bunCompileToBytecode = false;
|
||||
});
|
||||
}
|
||||
);
|
||||
};
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
remotebuild_ssh_key_rsa: ENC[AES256_GCM,data:xUGDEVbj3vJUBbBg1CAPUChC,iv:piW5bMCrSIpjiN8H5+Ae7BsBcQfwiS+GdeAgHv4ndt8=,tag:NxY91CcSHpVrrEnTsd8L5w==,type:str]
|
||||
remotebuild_ssh_key_rsa_pub: ENC[AES256_GCM,data:HAbKREwLpXptlDsZyPqtQrwBjl/kBKW5ySTIuTyyQKyMxOlO8Vy8veh6O5On6stEbZi5K/1A19Xy2dLUFm13ZUTA9Z2UtQ/BS5+FlRf8W0pvCTjS0TzoThN7r6GpSIZ7Xe/PF3G/lYM5oto/NKGIYxh26fqAdShx87neFvpkP7pUC9lEAVH2Gik2Jei9KmNeGibXl+v2oMvmBUuxVHxBFMeKOY6JP9eQDOfhULeoQtE648Hol61bVibLT4F62f93owKru1CREXcVMm/Ewiow7WxUw4UB4UTRig7vDqc5YXilC4pKIhqj5ABJUUUzmDtyizmA3tLE7/q7z4Af/Tn8nMOvZNRMiz9mKVW9XKJktqEFRB1nnmvunos8CrfNk2vNaLHWAvM0ojCGaaaIKg2wMhzz+a39flyrg7oGZMZ0/4Ghm8lUDKEv+FMOJIfhdR3yfefIzxZ4vT4dQ4GEVZ2FkoNkNQ0nE4FgwOb2aNxkBi0YK0osMY7Nm5Qv5BvKma/wcrkD6l/fv0l6A/kSmKvE9/K7VOQ4wroJ+UUMWW1TKHjbbDaspGjbmfgsBO3G563Knb1dGc0/zxjsAMb3ezSCNiRti8hpnfo3NZ8UX2pV1BsXRu9EO8QBNJOjTfZfK2ouZHj1hvRU5512wFXj5smA1/1fEcpp9/hoiqItAbOatk9eOWxJkFtXzi5sH2ePVpGZTpT36mQTbvXh3jtUs7nrtlRMvRk0Vywwd5cueD8z98Dyfro=,iv:ls3PLfXEfF7vVBSpba8gijZTbWBmvd2XU2b/4W5JeQ0=,tag:Obkg9QAV7BIelKsD20jMcg==,type:str]
|
||||
sops:
|
||||
age:
|
||||
- enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhRy9UaGJCRXVwcG53Sk95
|
||||
RFhOT2lPRWdoc0preFVnUVlHWWRNeTc1cEIwClZxYUR3Y2RhRi9HSUZpLzNyQ0hU
|
||||
eHpCUHJlZS9NQUJsRjlpNTJ4Nk1paTgKLS0tIGJjMnYzOGdma3ZGak1aZFB2elpl
|
||||
dGlxdDNJK3M1elRoU1hMa05VSUwvbEkK4Q7ml9+aeT6ViOqvs/OaYcZifnSmm31n
|
||||
oHhzwqWUfgkjZrdV041YX61UEnjeOwei8stMwxsOsXnJzDyrhXyHmA==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
recipient: age1s6zlweaxqu6sldlhaxg24tqqwhcp7kvc3rr6h6895chk2ndaas6qdyj5gl
|
||||
lastmodified: "2026-10-21T20:28:41Z"
|
||||
mac: ENC[AES256_GCM,data:yTcIvVHG/3a/hCh8S2RKdFrztCB9rH5fd59JnmEH30WUpWXaTtjt2A0aByfbLxCff3vIfmPifmk9lcE+y8X5cpFTKuALNWmzs7OjNLVmr3X4/4rDjOgd6Q0fDtBrCtAyB8Jz4ABJ/0Efot3Qs+ovpFdUdHCgNO2M5hNJWhhI5Tg=,iv:XCRl22bl7UhTd74ek4osjSNbuXtEtIlhK92M/cBxvEM=,tag:LrclsN9X9bDGJwJIBH5KJQ==,type:str]
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.13.3
|
||||
@@ -0,0 +1,17 @@
|
||||
sapphire_ssh_key_ed25519: ENC[AES256_GCM,data:8kUBJRztuqFguGr08ihphE7A2yZbUgMO2rPjMUEqyrVqOqVTJpZsE8cICvWr0sXOEuamIyF3IPS+9DTpqKmc+BpNKvwDwyEht9NtHML/9Jgwcd1GpO1w+DK4XbwJK+M1tdja5ZJxYJtr9J8nbXt+DdFpCB2KBU+0uakiW4efD+BLS9DfX47NinserdEaLbdXqPhF4h957YchkteB1xkyMhMbJqRMskZL2RRHYwxpNq2WjTBEVjFQnfWopBlMqnwMXeyUpdBI9TdL6vm+62upNiZ/nQbbzcbNt8cka9UzIWaaZvuz+jlj/OSip3t2HXXGZ1pWZ+i/R+tqEfGZAeVZet736UeZrO/ewASNEd9Nq0H3ywEpXNogbd4Y914EYr97OIU84W5MlaBkmCOn4S20wcezBjKsSIu/3T3tDr4qHayp+Cp5BnOwBGOrZI7xD3F2C7KYklWZT/fy/3R8O0DgAcez+9L2T6WR+0qqpzBgv7/g1lbIYdgIMfBpfhCmvKbokUwLHt/m4gG8C1XsDoH15ODtXYLopezWy8q2EkSPDgNIRqATnmJ0KgC98HLzxd2T,iv:SJfJTw151PUcDbMxAWCEiYit5GKa+XFJ2VCDzEBzKUo=,tag:1KD3okKVetESHIAaWW9QEQ==,type:str]
|
||||
sapphire_ssh_key_ed25519_pub: ENC[AES256_GCM,data:iQaxf3M0HGtdm39OZ6RQoeicmuGxrIVIV6H600bhgayGSmd5Rc2aFeFgkC1wlsWhXukQg664pl2bNlexq+MCuOLye3s/ubBSCN35TTVfUAKHAfDZCH3HhEWtyjHksM+0bVurB6VLUaicLroxjELBKEH7,iv:RFG3qK0j52nGwHjFb5l0D1CBsJ6TtHGsVN0B1t1b5s4=,tag:AdIShzJa+uZSntonDFAYmg==,type:str]
|
||||
sops:
|
||||
age:
|
||||
- enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnOTRtYlovL3hxY1pRVVox
|
||||
UlhpQUIzeWtQaS9FRWJTR2d3ZittRTZxVlJvCno0dExKV1JzMGFEeG1hOFFxaEVh
|
||||
OFNPd1JRWENvd29PVWdUbkdJWkp1NG8KLS0tIEdyT001SnlTVHowKzRrR3VyMVNF
|
||||
L25jWGlOeGg3SWplUHg0SUhZWlRCakEKWtqZbICLgJk4D60+FTiP5VVEVGoacGjy
|
||||
Lax1PCDR38qUsVo2No5dPJEsKLDnJIzAafRGCN99mfn81GhpSmPBQA==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
recipient: age1s6zlweaxqu6sldlhaxg24tqqwhcp7kvc3rr6h6895chk2ndaas6qdyj5gl
|
||||
lastmodified: "2026-10-23T15:22:54Z"
|
||||
mac: ENC[AES256_GCM,data:NHGb0Cp+XEns48DEBD2QT7P+lx51LXArXUWIE+QoWUAlb2SzqvvqpLdN6PJGpr95+S4IfBXzruf9EVILXoRqFolHvP8C9rnQBVtS3bIQK/A3Y+P5iKL3NLUd0z6WDxKaZIM2X55XNGZH8zKo7SEgVdQ0LRi1KdnZ1uP5KZEIJ60=,iv:JE0oSpfWSiG4LeXijU/Uk9zPQ4mWSPTZMvS9u+AyDck=,tag:0SrpuboXDwJ/suSsk/85qg==,type:str]
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.13.3
|
||||
Reference in New Issue
Block a user