Compare commits
No commits in common. "45448d1099bf1bcd4dc1f471068a290a31bd465a" and "eed28e3219ecd0c6bedf0566cecde565691b60f8" have entirely different histories.
45448d1099
...
eed28e3219
60 changed files with 646 additions and 824 deletions
1
.envrc
1
.envrc
|
@ -1,2 +1 @@
|
||||||
# shellcheck disable=SC2148
|
|
||||||
use flake
|
use flake
|
||||||
|
|
1
.known_hosts
Normal file
1
.known_hosts
Normal file
|
@ -0,0 +1 @@
|
||||||
|
etna ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEnkKSd4IV+PM88WKHHfEhSTlknHT0FVXzA0JUcCzOp+
|
|
@ -1,5 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
./common.nix
|
./common.nix
|
||||||
|
|
||||||
|
@ -11,7 +10,7 @@
|
||||||
(ffmpeg-full.override {withUnfree = true;})
|
(ffmpeg-full.override {withUnfree = true;})
|
||||||
fastfetch
|
fastfetch
|
||||||
lazygit
|
lazygit
|
||||||
nixd
|
nil
|
||||||
];
|
];
|
||||||
|
|
||||||
hm.programs.keychain = {
|
hm.programs.keychain = {
|
||||||
|
|
|
@ -10,20 +10,15 @@
|
||||||
vencord,
|
vencord,
|
||||||
hydro,
|
hydro,
|
||||||
...
|
...
|
||||||
}:
|
}: let
|
||||||
let
|
|
||||||
username = "leo";
|
username = "leo";
|
||||||
stateVersion = "24.11";
|
stateVersion = "24.11";
|
||||||
|
|
||||||
rootPassword = _utils.setupSingleSecret config "rootPassword" {};
|
rootPassword = _utils.setupSingleSecret config "rootPassword" {};
|
||||||
secrets = _utils.setupSharedSecrets config {
|
secrets = _utils.setupSharedSecrets config {
|
||||||
secrets = [
|
secrets = ["userPassword" "tailscaleKey"];
|
||||||
"userPassword"
|
|
||||||
"tailscaleKey"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
agenix.nixosModules.default
|
agenix.nixosModules.default
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
|
@ -45,10 +40,7 @@ in
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
kernelPackages = lib.mkDefault pkgs.linuxPackages; # use lts
|
kernelPackages = lib.mkDefault pkgs.linuxPackages; # use lts
|
||||||
kernelParams = [
|
kernelParams = ["quiet" "loglevel=3"];
|
||||||
"quiet"
|
|
||||||
"loglevel=3"
|
|
||||||
];
|
|
||||||
|
|
||||||
# faster tcp !!!
|
# faster tcp !!!
|
||||||
kernel.sysctl = {
|
kernel.sysctl = {
|
||||||
|
@ -91,10 +83,7 @@ in
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
useNetworkd = lib.mkDefault true;
|
useNetworkd = lib.mkDefault true;
|
||||||
nameservers = [
|
nameservers = ["1.1.1.1" "1.0.0.1"];
|
||||||
"1.1.1.1"
|
|
||||||
"1.0.0.1"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
|
@ -121,14 +110,8 @@ in
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
auto-optimise-store = true;
|
auto-optimise-store = true;
|
||||||
experimental-features = [
|
experimental-features = ["nix-command" "flakes"];
|
||||||
"nix-command"
|
trusted-users = ["root" "@wheel"];
|
||||||
"flakes"
|
|
||||||
];
|
|
||||||
trusted-users = [
|
|
||||||
"root"
|
|
||||||
"@wheel"
|
|
||||||
];
|
|
||||||
connect-timeout = 5; # fail fast if substituters are not available
|
connect-timeout = 5; # fail fast if substituters are not available
|
||||||
builders-use-substitutes = true;
|
builders-use-substitutes = true;
|
||||||
log-lines = 25;
|
log-lines = 25;
|
||||||
|
@ -189,10 +172,7 @@ in
|
||||||
tailscale = {
|
tailscale = {
|
||||||
enable = true;
|
enable = true;
|
||||||
useRoutingFeatures = "both";
|
useRoutingFeatures = "both";
|
||||||
extraUpFlags = [
|
extraUpFlags = ["--ssh" "--stateful-filtering"];
|
||||||
"--ssh"
|
|
||||||
"--stateful-filtering"
|
|
||||||
];
|
|
||||||
authKeyFile = secrets.get "tailscaleKey";
|
authKeyFile = secrets.get "tailscaleKey";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -217,14 +197,7 @@ in
|
||||||
"${username}" = {
|
"${username}" = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
shell = pkgs.fish;
|
shell = pkgs.fish;
|
||||||
extraGroups = [
|
extraGroups = ["networkmanager" "wheel" "video" "libvirtd" "input" "docker"];
|
||||||
"networkmanager"
|
|
||||||
"wheel"
|
|
||||||
"video"
|
|
||||||
"libvirtd"
|
|
||||||
"input"
|
|
||||||
"docker"
|
|
||||||
];
|
|
||||||
hashedPasswordFile = secrets.get "userPassword";
|
hashedPasswordFile = secrets.get "userPassword";
|
||||||
openssh.authorizedKeys.keys = [
|
openssh.authorizedKeys.keys = [
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN+7+KfdOrhcnHayxvOENUeMx8rE4XEIV/AxMHiaNUP8"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN+7+KfdOrhcnHayxvOENUeMx8rE4XEIV/AxMHiaNUP8"
|
||||||
|
|
|
@ -5,8 +5,7 @@
|
||||||
catppuccin,
|
catppuccin,
|
||||||
lanzaboote,
|
lanzaboote,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
catppuccin.nixosModules.catppuccin
|
catppuccin.nixosModules.catppuccin
|
||||||
lanzaboote.nixosModules.lanzaboote
|
lanzaboote.nixosModules.lanzaboote
|
||||||
|
|
|
@ -3,8 +3,7 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
{
|
|
||||||
imports = [./desktop.nix];
|
imports = [./desktop.nix];
|
||||||
|
|
||||||
boot.initrd.kernelModules = ["xe"];
|
boot.initrd.kernelModules = ["xe"];
|
||||||
|
|
|
@ -2,13 +2,11 @@
|
||||||
config,
|
config,
|
||||||
_utils,
|
_utils,
|
||||||
...
|
...
|
||||||
}:
|
}: let
|
||||||
let
|
|
||||||
secrets = _utils.setupSharedSecrets config {
|
secrets = _utils.setupSharedSecrets config {
|
||||||
secrets = ["vmAuthToken"];
|
secrets = ["vmAuthToken"];
|
||||||
};
|
};
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
./common.nix
|
./common.nix
|
||||||
secrets.generate
|
secrets.generate
|
||||||
|
@ -61,9 +59,7 @@ in
|
||||||
scrape_configs = [
|
scrape_configs = [
|
||||||
{
|
{
|
||||||
job_name = "node";
|
job_name = "node";
|
||||||
static_configs = [
|
static_configs = [{targets = ["localhost:${builtins.toString config.services.prometheus.exporters.node.port}"];}];
|
||||||
{ targets = [ "localhost:${builtins.toString config.services.prometheus.exporters.node.port}" ]; }
|
|
||||||
];
|
|
||||||
relabel_configs = [
|
relabel_configs = [
|
||||||
{
|
{
|
||||||
target_label = "instance";
|
target_label = "instance";
|
||||||
|
|
|
@ -22,8 +22,7 @@
|
||||||
pipewire,
|
pipewire,
|
||||||
udev,
|
udev,
|
||||||
xrandr,
|
xrandr,
|
||||||
}:
|
}: let
|
||||||
let
|
|
||||||
inherit (jetbrains) idea-ultimate;
|
inherit (jetbrains) idea-ultimate;
|
||||||
in
|
in
|
||||||
symlinkJoin {
|
symlinkJoin {
|
||||||
|
@ -33,8 +32,7 @@ symlinkJoin {
|
||||||
|
|
||||||
nativeBuildInputs = [makeWrapper];
|
nativeBuildInputs = [makeWrapper];
|
||||||
|
|
||||||
postBuild =
|
postBuild = let
|
||||||
let
|
|
||||||
runtimeLibs = [
|
runtimeLibs = [
|
||||||
stdenv.cc.cc.lib
|
stdenv.cc.cc.lib
|
||||||
## native versions
|
## native versions
|
||||||
|
@ -65,8 +63,7 @@ symlinkJoin {
|
||||||
xrandr # needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128
|
xrandr # needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128
|
||||||
esbuild
|
esbuild
|
||||||
];
|
];
|
||||||
in
|
in ''
|
||||||
''
|
|
||||||
wrapProgram $out/bin/idea-ultimate \
|
wrapProgram $out/bin/idea-ultimate \
|
||||||
--set LD_LIBRARY_PATH ${lib.makeLibraryPath runtimeLibs} \
|
--set LD_LIBRARY_PATH ${lib.makeLibraryPath runtimeLibs} \
|
||||||
--prefix PATH : ${lib.makeBinPath runtimePrograms}
|
--prefix PATH : ${lib.makeBinPath runtimePrograms}
|
||||||
|
|
|
@ -5,7 +5,9 @@ inputs: final: prev: {
|
||||||
version = "${old.version}+git.${inputs.vencord.shortRev}";
|
version = "${old.version}+git.${inputs.vencord.shortRev}";
|
||||||
src = inputs.vencord;
|
src = inputs.vencord;
|
||||||
|
|
||||||
env = old.env // {
|
env =
|
||||||
|
old.env
|
||||||
|
// {
|
||||||
VENCORD_REMOTE = "Vendicated/Vencord";
|
VENCORD_REMOTE = "Vendicated/Vencord";
|
||||||
VENCORD_HASH = src.shortRev;
|
VENCORD_HASH = src.shortRev;
|
||||||
};
|
};
|
||||||
|
|
42
flake.lock
generated
42
flake.lock
generated
|
@ -253,6 +253,26 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixinate": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1708891350,
|
||||||
|
"narHash": "sha256-VOQrKK7Df/IVuNki+NshVuGkTa/Tw0GigPjWcZff6kk=",
|
||||||
|
"owner": "matthewcroughan",
|
||||||
|
"repo": "nixinate",
|
||||||
|
"rev": "452f33c60df5b72ad0858f5f2cf224bdf1f17746",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "matthewcroughan",
|
||||||
|
"repo": "nixinate",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixos-wsl": {
|
"nixos-wsl": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": [],
|
"flake-compat": [],
|
||||||
|
@ -305,10 +325,10 @@
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"lanzaboote": "lanzaboote",
|
"lanzaboote": "lanzaboote",
|
||||||
"mystia": "mystia",
|
"mystia": "mystia",
|
||||||
|
"nixinate": "nixinate",
|
||||||
"nixos-wsl": "nixos-wsl",
|
"nixos-wsl": "nixos-wsl",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"systems": "systems_2",
|
"systems": "systems_2",
|
||||||
"treefmt-nix": "treefmt-nix",
|
|
||||||
"ukubot-rs": "ukubot-rs",
|
"ukubot-rs": "ukubot-rs",
|
||||||
"vencord": "vencord",
|
"vencord": "vencord",
|
||||||
"vscode-extensions": "vscode-extensions"
|
"vscode-extensions": "vscode-extensions"
|
||||||
|
@ -365,26 +385,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"treefmt-nix": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1735135567,
|
|
||||||
"narHash": "sha256-8T3K5amndEavxnludPyfj3Z1IkcFdRpR23q+T0BVeZE=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"rev": "9e09d30a644c57257715902efbb3adc56c79cf28",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"ukubot-rs": {
|
"ukubot-rs": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": [
|
"flake-parts": [
|
||||||
|
|
56
flake.nix
56
flake.nix
|
@ -1,34 +1,31 @@
|
||||||
{
|
{
|
||||||
description = "example flake idk";
|
description = "example flake idk";
|
||||||
|
|
||||||
outputs =
|
outputs = {
|
||||||
{
|
self,
|
||||||
agenix,
|
|
||||||
flake-parts,
|
flake-parts,
|
||||||
treefmt-nix,
|
nixinate,
|
||||||
|
agenix,
|
||||||
...
|
...
|
||||||
} @ inputs:
|
} @ inputs:
|
||||||
flake-parts.lib.mkFlake {inherit inputs;} {
|
flake-parts.lib.mkFlake {inherit inputs;} {
|
||||||
systems = [
|
systems = ["x86_64-linux" "aarch64-linux"];
|
||||||
"x86_64-linux"
|
|
||||||
"aarch64-linux"
|
|
||||||
];
|
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
treefmt-nix.flakeModule
|
|
||||||
./systems
|
./systems
|
||||||
];
|
];
|
||||||
|
|
||||||
perSystem =
|
perSystem = {
|
||||||
{
|
|
||||||
pkgs,
|
pkgs,
|
||||||
system,
|
system,
|
||||||
self',
|
self',
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
{
|
apps = (nixinate.nixinate.${system} self).nixinate;
|
||||||
devShells.default = pkgs.mkShellNoCC {
|
|
||||||
packages = with pkgs; [
|
devShells.default = with pkgs;
|
||||||
|
mkShellNoCC {
|
||||||
|
packages = [
|
||||||
agenix.packages.${system}.default
|
agenix.packages.${system}.default
|
||||||
just
|
just
|
||||||
self'.formatter
|
self'.formatter
|
||||||
|
@ -36,24 +33,7 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
treefmt = {
|
formatter = pkgs.alejandra;
|
||||||
projectRootFile = "flake.nix";
|
|
||||||
|
|
||||||
settings.excludes = [
|
|
||||||
".envrc"
|
|
||||||
".gitignore"
|
|
||||||
"*.age"
|
|
||||||
"flake.lock"
|
|
||||||
"justfile"
|
|
||||||
"LICENSE"
|
|
||||||
];
|
|
||||||
|
|
||||||
programs = {
|
|
||||||
nixfmt.enable = true;
|
|
||||||
prettier.enable = true;
|
|
||||||
stylua.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -114,6 +94,11 @@
|
||||||
inputs.flake-compat.follows = "";
|
inputs.flake-compat.follows = "";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nixinate = {
|
||||||
|
url = "github:matthewcroughan/nixinate";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
nixos-wsl = {
|
nixos-wsl = {
|
||||||
url = "github:nix-community/NixOS-WSL";
|
url = "github:nix-community/NixOS-WSL";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
@ -124,11 +109,6 @@
|
||||||
# nix's most elaborate, overcomplicated joke
|
# nix's most elaborate, overcomplicated joke
|
||||||
systems.url = "github:nix-systems/default";
|
systems.url = "github:nix-systems/default";
|
||||||
|
|
||||||
treefmt-nix = {
|
|
||||||
url = "github:numtide/treefmt-nix";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
vscode-extensions = {
|
vscode-extensions = {
|
||||||
url = "github:nix-community/nix-vscode-extensions";
|
url = "github:nix-community/nix-vscode-extensions";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
|
@ -1,51 +1,30 @@
|
||||||
{ lib, ... }:
|
{lib, ...}: {
|
||||||
{
|
setupSecrets = _config: {
|
||||||
setupSecrets =
|
|
||||||
_config:
|
|
||||||
{
|
|
||||||
secrets,
|
secrets,
|
||||||
extra ? {},
|
extra ? {},
|
||||||
}:
|
}: let
|
||||||
let
|
|
||||||
inherit (_config.networking) hostName;
|
inherit (_config.networking) hostName;
|
||||||
in
|
in {
|
||||||
{
|
generate = {age.secrets = lib.genAttrs secrets (name: extra // {file = ../secrets/${hostName}/${name}.age;});};
|
||||||
generate = {
|
|
||||||
age.secrets = lib.genAttrs secrets (name: extra // { file = ../secrets/${hostName}/${name}.age; });
|
|
||||||
};
|
|
||||||
get = name: _config.age.secrets.${name}.path;
|
get = name: _config.age.secrets.${name}.path;
|
||||||
};
|
};
|
||||||
|
|
||||||
setupSingleSecret =
|
setupSingleSecret = _config: name: extra: let
|
||||||
_config: name: extra:
|
|
||||||
let
|
|
||||||
inherit (_config.networking) hostName;
|
inherit (_config.networking) hostName;
|
||||||
in
|
in {
|
||||||
{
|
generate = {age.secrets.${name} = extra // {file = ../secrets/${hostName}/${name}.age;};};
|
||||||
generate = {
|
|
||||||
age.secrets.${name} = extra // {
|
|
||||||
file = ../secrets/${hostName}/${name}.age;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
inherit (_config.age.secrets.${name}) path;
|
inherit (_config.age.secrets.${name}) path;
|
||||||
};
|
};
|
||||||
|
|
||||||
setupSharedSecrets =
|
setupSharedSecrets = _config: {
|
||||||
_config:
|
|
||||||
{
|
|
||||||
secrets,
|
secrets,
|
||||||
extra ? {},
|
extra ? {},
|
||||||
}:
|
}: {
|
||||||
{
|
generate = {age.secrets = lib.genAttrs secrets (name: extra // {file = ../secrets/shared/${name}.age;});};
|
||||||
generate = {
|
|
||||||
age.secrets = lib.genAttrs secrets (name: extra // { file = ../secrets/shared/${name}.age; });
|
|
||||||
};
|
|
||||||
get = name: _config.age.secrets.${name}.path;
|
get = name: _config.age.secrets.${name}.path;
|
||||||
};
|
};
|
||||||
|
|
||||||
mkMinecraftServer =
|
mkMinecraftServer = _config: {
|
||||||
_config:
|
|
||||||
{
|
|
||||||
name,
|
name,
|
||||||
port,
|
port,
|
||||||
remotePort,
|
remotePort,
|
||||||
|
@ -55,20 +34,20 @@
|
||||||
env ? {},
|
env ? {},
|
||||||
envFiles ? [],
|
envFiles ? [],
|
||||||
extraPorts ? [],
|
extraPorts ? [],
|
||||||
}:
|
}: let
|
||||||
let
|
|
||||||
inherit (_config.virtualisation.oci-containers) backend;
|
inherit (_config.virtualisation.oci-containers) backend;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
virtualisation.oci-containers.containers."mc-${name}" = {
|
virtualisation.oci-containers.containers."mc-${name}" = {
|
||||||
image = "itzg/minecraft-server:${tag}";
|
image = "itzg/minecraft-server:${tag}";
|
||||||
ports = ["${builtins.toString port}:25565"] ++ extraPorts;
|
ports = ["${builtins.toString port}:25565"] ++ extraPorts;
|
||||||
volumes = ["${dataDir}:/data"];
|
volumes = ["${dataDir}:/data"];
|
||||||
environmentFiles = envFiles;
|
environmentFiles = envFiles;
|
||||||
environment = {
|
environment =
|
||||||
|
{
|
||||||
EULA = "true";
|
EULA = "true";
|
||||||
MEMORY = memory;
|
MEMORY = memory;
|
||||||
} // env;
|
}
|
||||||
|
// env;
|
||||||
};
|
};
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [port];
|
networking.firewall.allowedTCPPorts = [port];
|
||||||
|
|
8
justfile
8
justfile
|
@ -16,12 +16,8 @@ boot *args:
|
||||||
@sudo -v
|
@sudo -v
|
||||||
sudo nixos-rebuild boot --flake . --keep-going {{args}}
|
sudo nixos-rebuild boot --flake . --keep-going {{args}}
|
||||||
|
|
||||||
deploy system user="leo":
|
deploy system:
|
||||||
#!/usr/bin/env bash
|
nix run .#{{system}}
|
||||||
set -euxo pipefail
|
|
||||||
flake=$(nix eval --impure --raw --expr "(builtins.getFlake \"$PWD\").outPath")
|
|
||||||
nix copy "$flake" --to "ssh://{{user}}@{{system}}"
|
|
||||||
ssh -t "{{user}}@{{system}}" "sudo flock -w 60 /dev/shm/deploy-{{system}} nixos-rebuild switch --flake $flake#{{system}}"
|
|
||||||
|
|
||||||
lint *args:
|
lint *args:
|
||||||
statix check -i flake.nix **/hardware-configuration.nix {{args}}
|
statix check -i flake.nix **/hardware-configuration.nix {{args}}
|
||||||
|
|
|
@ -2,10 +2,8 @@
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
{
|
hm.programs.alacritty = let
|
||||||
hm.programs.alacritty =
|
|
||||||
let
|
|
||||||
theme = pkgs.fetchurl {
|
theme = pkgs.fetchurl {
|
||||||
# url = "https://raw.githubusercontent.com/catppuccin/alacritty/ce476fb41f307d90f841c1a4fd7f0727c21248b2/catppuccin-macchiato.toml";
|
# url = "https://raw.githubusercontent.com/catppuccin/alacritty/ce476fb41f307d90f841c1a4fd7f0727c21248b2/catppuccin-macchiato.toml";
|
||||||
url = "https://raw.githubusercontent.com/rose-pine/alacritty/3c3e36eb5225b0eb6f1aa989f9d9e783a5b47a83/dist/rose-pine.toml";
|
url = "https://raw.githubusercontent.com/rose-pine/alacritty/3c3e36eb5225b0eb6f1aa989f9d9e783a5b47a83/dist/rose-pine.toml";
|
||||||
|
@ -13,8 +11,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
themeAttr = builtins.fromTOML (builtins.readFile theme);
|
themeAttr = builtins.fromTOML (builtins.readFile theme);
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = lib.recursiveUpdate themeAttr {
|
settings = lib.recursiveUpdate themeAttr {
|
||||||
font = {
|
font = {
|
||||||
|
|
|
@ -3,17 +3,14 @@
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}:
|
}: let
|
||||||
let
|
|
||||||
inherit (config.lib.file) mkOutOfStoreSymlink;
|
inherit (config.lib.file) mkOutOfStoreSymlink;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
home = {
|
home = {
|
||||||
packages = [pkgs.jetbrains.rider];
|
packages = [pkgs.jetbrains.rider];
|
||||||
|
|
||||||
file = {
|
file = {
|
||||||
".dotnet/8".source =
|
".dotnet/8".source = mkOutOfStoreSymlink "${pkgs.dotnetCorePackages.dotnet_8.sdk.unwrapped}/share/dotnet";
|
||||||
mkOutOfStoreSymlink "${pkgs.dotnetCorePackages.dotnet_8.sdk.unwrapped}/share/dotnet";
|
|
||||||
".dotnet/mono".source = mkOutOfStoreSymlink pkgs.mono;
|
".dotnet/mono".source = mkOutOfStoreSymlink pkgs.mono;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
programs.fish.enable = true;
|
programs.fish.enable = true;
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
hardware = {
|
hardware = {
|
||||||
xone.enable = true;
|
xone.enable = true;
|
||||||
xpadneo.enable = true;
|
xpadneo.enable = true;
|
||||||
|
@ -10,11 +9,7 @@
|
||||||
osu-lazer-bin
|
osu-lazer-bin
|
||||||
|
|
||||||
(prismlauncher.override {
|
(prismlauncher.override {
|
||||||
jdks = [
|
jdks = [temurin-bin-21 temurin-bin-17 temurin-bin-8];
|
||||||
temurin-bin-21
|
|
||||||
temurin-bin-17
|
|
||||||
temurin-bin-8
|
|
||||||
];
|
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -2,8 +2,7 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
ghostty,
|
ghostty,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
{
|
|
||||||
hm.home = {
|
hm.home = {
|
||||||
packages = [ghostty.packages.${pkgs.system}.default];
|
packages = [ghostty.packages.${pkgs.system}.default];
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ config, ... }:
|
{config, ...}: {
|
||||||
{
|
|
||||||
programs.git.enable = true;
|
programs.git.enable = true;
|
||||||
|
|
||||||
hm.programs = {
|
hm.programs = {
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
services = {
|
services = {
|
||||||
xserver.desktopManager.gnome.enable = true;
|
xserver.desktopManager.gnome.enable = true;
|
||||||
displayManager = {
|
displayManager = {
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
# utility packages for hyprland, since you know it's not a DE
|
# utility packages for hyprland, since you know it's not a DE
|
||||||
|
|
||||||
hm.home.packages = with pkgs; [
|
hm.home.packages = with pkgs; [
|
||||||
|
@ -15,10 +14,7 @@
|
||||||
|
|
||||||
thunar = {
|
thunar = {
|
||||||
enable = true;
|
enable = true;
|
||||||
plugins = with pkgs.xfce; [
|
plugins = with pkgs.xfce; [thunar-volman thunar-archive-plugin];
|
||||||
thunar-volman
|
|
||||||
thunar-archive-plugin
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,8 +2,7 @@
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
./hyprland-misc.nix
|
./hyprland-misc.nix
|
||||||
./alacritty.nix
|
./alacritty.nix
|
||||||
|
@ -38,24 +37,11 @@
|
||||||
|
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings =
|
settings = let
|
||||||
let
|
|
||||||
inherit (lib) getExe getExe';
|
inherit (lib) getExe getExe';
|
||||||
keys = [
|
keys = ["ampersand" "eacute" "quotedbl" "apostrophe" "parenleft" "minus" "egrave" "underscore" "ccedilla" "agrave"];
|
||||||
"ampersand"
|
|
||||||
"eacute"
|
|
||||||
"quotedbl"
|
|
||||||
"apostrophe"
|
|
||||||
"parenleft"
|
|
||||||
"minus"
|
|
||||||
"egrave"
|
|
||||||
"underscore"
|
|
||||||
"ccedilla"
|
|
||||||
"agrave"
|
|
||||||
];
|
|
||||||
in
|
in
|
||||||
with pkgs;
|
with pkgs; {
|
||||||
{
|
|
||||||
"$mod" = "SUPER";
|
"$mod" = "SUPER";
|
||||||
"$wl-paste" = getExe' wl-clipboard "wl-paste";
|
"$wl-paste" = getExe' wl-clipboard "wl-paste";
|
||||||
"$wpctl" = getExe' wireplumber "wpctl";
|
"$wpctl" = getExe' wireplumber "wpctl";
|
||||||
|
@ -166,18 +152,12 @@
|
||||||
++
|
++
|
||||||
# Switch workspaces with mod + [0-9]
|
# Switch workspaces with mod + [0-9]
|
||||||
# Move active window to a workspace with mod + SHIFT + [0-9]
|
# Move active window to a workspace with mod + SHIFT + [0-9]
|
||||||
lib.flatten (
|
lib.flatten (builtins.map (i: let
|
||||||
builtins.map (
|
|
||||||
i:
|
|
||||||
let
|
|
||||||
key = builtins.elemAt keys (i - 1);
|
key = builtins.elemAt keys (i - 1);
|
||||||
in
|
in [
|
||||||
[
|
|
||||||
"$mod, ${key}, workspace, ${toString i}"
|
"$mod, ${key}, workspace, ${toString i}"
|
||||||
"$mod SHIFT, ${key}, movetoworkspace, ${toString i}"
|
"$mod SHIFT, ${key}, movetoworkspace, ${toString i}"
|
||||||
]
|
]) (lib.range 1 10));
|
||||||
) (lib.range 1 10)
|
|
||||||
);
|
|
||||||
|
|
||||||
bindm = [
|
bindm = [
|
||||||
"$mod, mouse:272, movewindow"
|
"$mod, mouse:272, movewindow"
|
||||||
|
|
|
@ -3,11 +3,9 @@
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}:
|
}: let
|
||||||
let
|
|
||||||
inherit (config.lib.file) mkOutOfStoreSymlink;
|
inherit (config.lib.file) mkOutOfStoreSymlink;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
home.file = {
|
home.file = {
|
||||||
".jdks/temurin-21".source = mkOutOfStoreSymlink pkgs.temurin-bin-21;
|
".jdks/temurin-21".source = mkOutOfStoreSymlink pkgs.temurin-bin-21;
|
||||||
".jdks/temurin-17".source = mkOutOfStoreSymlink pkgs.temurin-bin-17;
|
".jdks/temurin-17".source = mkOutOfStoreSymlink pkgs.temurin-bin-17;
|
||||||
|
|
|
@ -2,8 +2,7 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
camasca,
|
camasca,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
{
|
|
||||||
services = {
|
services = {
|
||||||
desktopManager.plasma6.enable = true;
|
desktopManager.plasma6.enable = true;
|
||||||
displayManager.sddm = {
|
displayManager.sddm = {
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
hm.programs.neovim = {
|
hm.programs.neovim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultEditor = true;
|
defaultEditor = true;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
-- sets the <Leader> "key", which can be used in shortcuts
|
-- sets the <Leader> "key", which can be used in shortcuts
|
||||||
vim.g.mapleader = " "
|
vim.g.mapleader = ' '
|
||||||
|
|
||||||
vim.g.have_nerd_font = true
|
vim.g.have_nerd_font = true
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ vim.g.have_nerd_font = true
|
||||||
vim.opt.number = true
|
vim.opt.number = true
|
||||||
|
|
||||||
-- enable mouse
|
-- enable mouse
|
||||||
vim.opt.mouse = "a"
|
vim.opt.mouse = 'a'
|
||||||
|
|
||||||
-- save undo history
|
-- save undo history
|
||||||
vim.opt.undofile = true
|
vim.opt.undofile = true
|
||||||
|
@ -31,19 +31,21 @@ vim.opt.splitbelow = true
|
||||||
vim.opt.list = true
|
vim.opt.list = true
|
||||||
|
|
||||||
-- preview substitutions (:s & :%s) while typing
|
-- preview substitutions (:s & :%s) while typing
|
||||||
vim.opt.inccommand = "split"
|
vim.opt.inccommand = 'split'
|
||||||
|
|
||||||
-- highlight the line the cursor is on
|
-- highlight the line the cursor is on
|
||||||
vim.opt.cursorline = true
|
vim.opt.cursorline = true
|
||||||
|
|
||||||
-- sync os clipboard and neovim
|
-- sync os clipboard and neovim
|
||||||
vim.schedule(function()
|
vim.schedule(function()
|
||||||
vim.opt.clipboard = "unnamedplus"
|
vim.opt.clipboard = 'unnamedplus'
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
|
||||||
-- [[ shortcuts, see `:help vim.keymap.set()` ]]
|
-- [[ shortcuts, see `:help vim.keymap.set()` ]]
|
||||||
-- hide search results when pressing esc
|
-- hide search results when pressing esc
|
||||||
vim.keymap.set("n", "<Esc>", "<cmd>nohlsearch<CR>")
|
vim.keymap.set('n', '<Esc>', '<cmd>nohlsearch<CR>')
|
||||||
|
|
||||||
|
|
||||||
-- disable arrow keys in normal mode
|
-- disable arrow keys in normal mode
|
||||||
-- vim.keymap.set('n', '<left>', '<cmd>echo "Use h to move!!"<CR>')
|
-- vim.keymap.set('n', '<left>', '<cmd>echo "Use h to move!!"<CR>')
|
||||||
|
@ -55,10 +57,11 @@ vim.keymap.set("n", "<Esc>", "<cmd>nohlsearch<CR>")
|
||||||
-- Use CTRL+<hjkl> to switch between windows
|
-- Use CTRL+<hjkl> to switch between windows
|
||||||
--
|
--
|
||||||
-- See `:help wincmd` for a list of all window commands
|
-- See `:help wincmd` for a list of all window commands
|
||||||
vim.keymap.set("n", "<C-h>", "<C-w><C-h>", { desc = "Move focus to the left window" })
|
vim.keymap.set('n', '<C-h>', '<C-w><C-h>', { desc = 'Move focus to the left window' })
|
||||||
vim.keymap.set("n", "<C-l>", "<C-w><C-l>", { desc = "Move focus to the right window" })
|
vim.keymap.set('n', '<C-l>', '<C-w><C-l>', { desc = 'Move focus to the right window' })
|
||||||
vim.keymap.set("n", "<C-j>", "<C-w><C-j>", { desc = "Move focus to the lower window" })
|
vim.keymap.set('n', '<C-j>', '<C-w><C-j>', { desc = 'Move focus to the lower window' })
|
||||||
vim.keymap.set("n", "<C-k>", "<C-w><C-k>", { desc = "Move focus to the upper window" })
|
vim.keymap.set('n', '<C-k>', '<C-w><C-k>', { desc = 'Move focus to the upper window' })
|
||||||
|
|
||||||
|
|
||||||
-- [[ plugin configuration ]]
|
-- [[ plugin configuration ]]
|
||||||
require("nvim-treesitter.configs").setup({
|
require("nvim-treesitter.configs").setup({
|
||||||
|
|
|
@ -3,20 +3,15 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}:
|
}: let
|
||||||
let
|
|
||||||
toml = pkgs.formats.toml {};
|
toml = pkgs.formats.toml {};
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
hm.home.file.".cargo/config.toml".source = toml.generate "config.toml" {
|
hm.home.file.".cargo/config.toml".source = toml.generate "config.toml" {
|
||||||
build.target-dir = "${config.hm.home.homeDirectory}/.cargo/target";
|
build.target-dir = "${config.hm.home.homeDirectory}/.cargo/target";
|
||||||
|
|
||||||
target.x86_64-unknown-linux-gnu = {
|
target.x86_64-unknown-linux-gnu = {
|
||||||
linker = "${lib.getExe pkgs.clang}";
|
linker = "${lib.getExe pkgs.clang}";
|
||||||
rustflags = [
|
rustflags = ["-C" "link-arg=-fuse-ld=${lib.getExe pkgs.mold}"];
|
||||||
"-C"
|
|
||||||
"link-arg=-fuse-ld=${lib.getExe pkgs.mold}"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,13 +1,15 @@
|
||||||
{
|
{
|
||||||
hm.programs.starship = {
|
hm.programs.starship = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings =
|
||||||
|
{
|
||||||
add_newline = false;
|
add_newline = false;
|
||||||
|
|
||||||
directory = {
|
directory = {
|
||||||
truncation_length = 3;
|
truncation_length = 3;
|
||||||
truncation_symbol = "…/";
|
truncation_symbol = "…/";
|
||||||
};
|
};
|
||||||
} // (import ./nerd-font.nix);
|
}
|
||||||
|
// builtins.fromTOML (builtins.readFile ./nerd-font.toml);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,84 +0,0 @@
|
||||||
{
|
|
||||||
aws.symbol = " ";
|
|
||||||
buf.symbol = " ";
|
|
||||||
c.symbol = " ";
|
|
||||||
conda.symbol = " ";
|
|
||||||
crystal.symbol = " ";
|
|
||||||
dart.symbol = " ";
|
|
||||||
directory.read_only = " ";
|
|
||||||
docker_context.symbol = " ";
|
|
||||||
elixir.symbol = " ";
|
|
||||||
elm.symbol = " ";
|
|
||||||
fennel.symbol = " ";
|
|
||||||
fossil_branch.symbol = " ";
|
|
||||||
git_branch.symbol = " ";
|
|
||||||
golang.symbol = " ";
|
|
||||||
guix_shell.symbol = " ";
|
|
||||||
haskell.symbol = " ";
|
|
||||||
haxe.symbol = " ";
|
|
||||||
hg_branch.symbol = " ";
|
|
||||||
hostname.ssh_symbol = " ";
|
|
||||||
java.symbol = " ";
|
|
||||||
julia.symbol = " ";
|
|
||||||
kotlin.symbol = " ";
|
|
||||||
lua.symbol = " ";
|
|
||||||
memory_usage.symbol = " ";
|
|
||||||
meson.symbol = " ";
|
|
||||||
nim.symbol = " ";
|
|
||||||
nix_shell.symbol = " ";
|
|
||||||
nodejs.symbol = " ";
|
|
||||||
ocaml.symbol = " ";
|
|
||||||
package.symbol = " ";
|
|
||||||
perl.symbol = " ";
|
|
||||||
php.symbol = " ";
|
|
||||||
pijul_channel.symbol = " ";
|
|
||||||
python.symbol = " ";
|
|
||||||
rlang.symbol = " ";
|
|
||||||
ruby.symbol = " ";
|
|
||||||
rust.symbol = " ";
|
|
||||||
scala.symbol = " ";
|
|
||||||
swift.symbol = " ";
|
|
||||||
zig.symbol = " ";
|
|
||||||
|
|
||||||
os.symbols = {
|
|
||||||
Alpaquita = " ";
|
|
||||||
Alpine = " ";
|
|
||||||
Amazon = " ";
|
|
||||||
Android = " ";
|
|
||||||
Arch = " ";
|
|
||||||
Artix = " ";
|
|
||||||
CentOS = " ";
|
|
||||||
Debian = " ";
|
|
||||||
DragonFly = " ";
|
|
||||||
Emscripten = " ";
|
|
||||||
EndeavourOS = " ";
|
|
||||||
Fedora = " ";
|
|
||||||
FreeBSD = " ";
|
|
||||||
Garuda = " ";
|
|
||||||
Gentoo = " ";
|
|
||||||
HardenedBSD = " ";
|
|
||||||
Illumos = " ";
|
|
||||||
Linux = " ";
|
|
||||||
Mabox = " ";
|
|
||||||
Macos = " ";
|
|
||||||
Manjaro = " ";
|
|
||||||
Mariner = " ";
|
|
||||||
MidnightBSD = " ";
|
|
||||||
Mint = " ";
|
|
||||||
NetBSD = " ";
|
|
||||||
NixOS = " ";
|
|
||||||
OpenBSD = " ";
|
|
||||||
openSUSE = " ";
|
|
||||||
OracleLinux = " ";
|
|
||||||
Pop = " ";
|
|
||||||
Raspbian = " ";
|
|
||||||
Redhat = " ";
|
|
||||||
RedHatEnterprise = " ";
|
|
||||||
Redox = " ";
|
|
||||||
Solus = " ";
|
|
||||||
SUSE = " ";
|
|
||||||
Ubuntu = " ";
|
|
||||||
Unknown = " ";
|
|
||||||
Windows = " ";
|
|
||||||
};
|
|
||||||
}
|
|
160
programs/starship/nerd-font.toml
Normal file
160
programs/starship/nerd-font.toml
Normal file
|
@ -0,0 +1,160 @@
|
||||||
|
[aws]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[buf]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[c]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[conda]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[crystal]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[dart]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[directory]
|
||||||
|
read_only = " "
|
||||||
|
|
||||||
|
[docker_context]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[elixir]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[elm]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[fennel]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[fossil_branch]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[git_branch]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[golang]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[guix_shell]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[haskell]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[haxe]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[hg_branch]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[hostname]
|
||||||
|
ssh_symbol = " "
|
||||||
|
|
||||||
|
[java]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[julia]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[kotlin]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[lua]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[memory_usage]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[meson]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[nim]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[nix_shell]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[nodejs]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[ocaml]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[os.symbols]
|
||||||
|
Alpaquita = " "
|
||||||
|
Alpine = " "
|
||||||
|
Amazon = " "
|
||||||
|
Android = " "
|
||||||
|
Arch = " "
|
||||||
|
Artix = " "
|
||||||
|
CentOS = " "
|
||||||
|
Debian = " "
|
||||||
|
DragonFly = " "
|
||||||
|
Emscripten = " "
|
||||||
|
EndeavourOS = " "
|
||||||
|
Fedora = " "
|
||||||
|
FreeBSD = " "
|
||||||
|
Garuda = " "
|
||||||
|
Gentoo = " "
|
||||||
|
HardenedBSD = " "
|
||||||
|
Illumos = " "
|
||||||
|
Linux = " "
|
||||||
|
Mabox = " "
|
||||||
|
Macos = " "
|
||||||
|
Manjaro = " "
|
||||||
|
Mariner = " "
|
||||||
|
MidnightBSD = " "
|
||||||
|
Mint = " "
|
||||||
|
NetBSD = " "
|
||||||
|
NixOS = " "
|
||||||
|
OpenBSD = " "
|
||||||
|
openSUSE = " "
|
||||||
|
OracleLinux = " "
|
||||||
|
Pop = " "
|
||||||
|
Raspbian = " "
|
||||||
|
Redhat = " "
|
||||||
|
RedHatEnterprise = " "
|
||||||
|
Redox = " "
|
||||||
|
Solus = " "
|
||||||
|
SUSE = " "
|
||||||
|
Ubuntu = " "
|
||||||
|
Unknown = " "
|
||||||
|
Windows = " "
|
||||||
|
|
||||||
|
[package]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[perl]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[php]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[pijul_channel]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[python]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[rlang]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[ruby]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[rust]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[scala]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[swift]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[zig]
|
||||||
|
symbol = " "
|
|
@ -2,8 +2,7 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
vscode-extensions,
|
vscode-extensions,
|
||||||
...
|
...
|
||||||
}:
|
}: let
|
||||||
let
|
|
||||||
inherit (pkgs.stdenv.hostPlatform) system;
|
inherit (pkgs.stdenv.hostPlatform) system;
|
||||||
extensions = vscode-extensions.extensions.${system};
|
extensions = vscode-extensions.extensions.${system};
|
||||||
|
|
||||||
|
@ -14,16 +13,14 @@ let
|
||||||
rust-lang.rust-analyzer
|
rust-lang.rust-analyzer
|
||||||
wakatime.vscode-wakatime
|
wakatime.vscode-wakatime
|
||||||
];
|
];
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
hm.programs.vscode = {
|
hm.programs.vscode = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableUpdateCheck = false;
|
enableUpdateCheck = false;
|
||||||
enableExtensionUpdateCheck = false;
|
enableExtensionUpdateCheck = false;
|
||||||
mutableExtensionsDir = false;
|
mutableExtensionsDir = false;
|
||||||
|
|
||||||
extensions =
|
extensions = with extensions.vscode-marketplace;
|
||||||
with extensions.vscode-marketplace;
|
|
||||||
patched
|
patched
|
||||||
++ [
|
++ [
|
||||||
# style
|
# style
|
||||||
|
@ -52,12 +49,8 @@ in
|
||||||
|
|
||||||
# cpp
|
# cpp
|
||||||
mesonbuild.mesonbuild
|
mesonbuild.mesonbuild
|
||||||
(ms-vscode.cmake-tools.overrideAttrs (_: {
|
(ms-vscode.cmake-tools.overrideAttrs (_: {sourceRoot = "extension";}))
|
||||||
sourceRoot = "extension";
|
(ms-vscode.makefile-tools.overrideAttrs (_: {sourceRoot = "extension";}))
|
||||||
}))
|
|
||||||
(ms-vscode.makefile-tools.overrideAttrs (_: {
|
|
||||||
sourceRoot = "extension";
|
|
||||||
}))
|
|
||||||
twxs.cmake
|
twxs.cmake
|
||||||
xaver.clang-format
|
xaver.clang-format
|
||||||
|
|
||||||
|
|
|
@ -3,8 +3,7 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
{
|
|
||||||
hm.programs.waybar = {
|
hm.programs.waybar = {
|
||||||
enable = true;
|
enable = true;
|
||||||
style = ./style.css;
|
style = ./style.css;
|
||||||
|
@ -20,19 +19,11 @@
|
||||||
modules-center = [];
|
modules-center = [];
|
||||||
modules-right =
|
modules-right =
|
||||||
["memory"]
|
["memory"]
|
||||||
++ lib.optionals (builtins.elem "amdgpu" config.services.xserver.videoDrivers) [
|
++ lib.optionals (builtins.elem "amdgpu" config.services.xserver.videoDrivers) ["custom/gpu-usage"]
|
||||||
"custom/gpu-usage"
|
++ ["cpu" "wireplumber"]
|
||||||
]
|
|
||||||
++ [
|
|
||||||
"cpu"
|
|
||||||
"wireplumber"
|
|
||||||
]
|
|
||||||
++ lib.optionals config.services.power-profiles-daemon.enable ["battery"]
|
++ lib.optionals config.services.power-profiles-daemon.enable ["battery"]
|
||||||
++ lib.optionals config.programs.light.enable ["backlight"]
|
++ lib.optionals config.programs.light.enable ["backlight"]
|
||||||
++ [
|
++ ["clock" "tray"];
|
||||||
"clock"
|
|
||||||
"tray"
|
|
||||||
];
|
|
||||||
|
|
||||||
"hyprland/workspaces" = {
|
"hyprland/workspaces" = {
|
||||||
format = "{name}";
|
format = "{name}";
|
||||||
|
|
|
@ -31,9 +31,7 @@
|
||||||
@define-color rosewater #f4dbd6;
|
@define-color rosewater #f4dbd6;
|
||||||
|
|
||||||
* {
|
* {
|
||||||
font-family:
|
font-family: Jetbrains Mono, sans-serif;
|
||||||
Jetbrains Mono,
|
|
||||||
sans-serif;
|
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,7 +39,7 @@ window#waybar {
|
||||||
background-color: @base;
|
background-color: @base;
|
||||||
color: @text;
|
color: @text;
|
||||||
transition-property: background-color;
|
transition-property: background-color;
|
||||||
transition-duration: 0.5s;
|
transition-duration: .5s;
|
||||||
}
|
}
|
||||||
|
|
||||||
button {
|
button {
|
||||||
|
|
|
@ -5,17 +5,9 @@ let
|
||||||
etna = "age1m3jm6c5ywc5zntv5j4xhals0h28mpea88zzddq88zxcshmhteqwqu89qnh";
|
etna = "age1m3jm6c5ywc5zntv5j4xhals0h28mpea88zzddq88zxcshmhteqwqu89qnh";
|
||||||
vesuvio = "age1g2z0tztrv2w7wtludjrd85q7px3lvjms0cjj32zej9dqpjwpscwsle6xhf";
|
vesuvio = "age1g2z0tztrv2w7wtludjrd85q7px3lvjms0cjj32zej9dqpjwpscwsle6xhf";
|
||||||
|
|
||||||
main = [
|
main = [fuji kilimandjaro mottarone];
|
||||||
fuji
|
all = main ++ [etna vesuvio];
|
||||||
kilimandjaro
|
in {
|
||||||
mottarone
|
|
||||||
];
|
|
||||||
all = main ++ [
|
|
||||||
etna
|
|
||||||
vesuvio
|
|
||||||
];
|
|
||||||
in
|
|
||||||
{
|
|
||||||
"shared/userPassword.age".publicKeys = all;
|
"shared/userPassword.age".publicKeys = all;
|
||||||
"shared/tailscaleKey.age".publicKeys = all;
|
"shared/tailscaleKey.age".publicKeys = all;
|
||||||
"shared/frpToken.age".publicKeys = all;
|
"shared/frpToken.age".publicKeys = all;
|
||||||
|
|
|
@ -2,17 +2,15 @@
|
||||||
lib,
|
lib,
|
||||||
inputs,
|
inputs,
|
||||||
...
|
...
|
||||||
}:
|
}: let
|
||||||
let
|
|
||||||
_utils = import ../global/utils.nix {inherit lib;};
|
_utils = import ../global/utils.nix {inherit lib;};
|
||||||
|
|
||||||
toSystem =
|
toSystem = name: {
|
||||||
name:
|
|
||||||
{
|
|
||||||
role,
|
role,
|
||||||
system,
|
system,
|
||||||
}:
|
}:
|
||||||
inputs.nixpkgs.lib.nixosSystem {
|
inputs.nixpkgs.lib.nixosSystem
|
||||||
|
{
|
||||||
inherit system;
|
inherit system;
|
||||||
|
|
||||||
modules = [
|
modules = [
|
||||||
|
@ -23,12 +21,9 @@ let
|
||||||
{networking.hostName = name;}
|
{networking.hostName = name;}
|
||||||
];
|
];
|
||||||
|
|
||||||
specialArgs = inputs // {
|
specialArgs = inputs // {inherit _utils;};
|
||||||
inherit _utils;
|
|
||||||
};
|
};
|
||||||
};
|
in {
|
||||||
in
|
|
||||||
{
|
|
||||||
flake.nixosConfigurations = lib.mapAttrs toSystem {
|
flake.nixosConfigurations = lib.mapAttrs toSystem {
|
||||||
fuji = {
|
fuji = {
|
||||||
role = "desktop";
|
role = "desktop";
|
||||||
|
|
|
@ -4,8 +4,7 @@
|
||||||
config,
|
config,
|
||||||
_utils,
|
_utils,
|
||||||
...
|
...
|
||||||
}:
|
}: let
|
||||||
let
|
|
||||||
tunnelId = "57f51ad7-25a0-45f3-b113-0b6ae0b2c3e5";
|
tunnelId = "57f51ad7-25a0-45f3-b113-0b6ae0b2c3e5";
|
||||||
|
|
||||||
secrets = _utils.setupSharedSecrets config {secrets = ["frpToken"];};
|
secrets = _utils.setupSharedSecrets config {secrets = ["frpToken"];};
|
||||||
|
@ -13,8 +12,7 @@ let
|
||||||
owner = "cloudflared";
|
owner = "cloudflared";
|
||||||
group = "cloudflared";
|
group = "cloudflared";
|
||||||
};
|
};
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
assertions = [
|
assertions = [
|
||||||
{
|
{
|
||||||
assertion = lib.versionAtLeast config.boot.kernelPackages.kernel.version "6.6.31";
|
assertion = lib.versionAtLeast config.boot.kernelPackages.kernel.version "6.6.31";
|
||||||
|
|
|
@ -2,11 +2,9 @@
|
||||||
config,
|
config,
|
||||||
_utils,
|
_utils,
|
||||||
...
|
...
|
||||||
}:
|
}: let
|
||||||
let
|
|
||||||
secretKey = _utils.setupSingleSecret config "dendriteKey" {};
|
secretKey = _utils.setupSingleSecret config "dendriteKey" {};
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
imports = [secretKey.generate];
|
imports = [secretKey.generate];
|
||||||
|
|
||||||
cfTunnels."m.uku.moe" = "http://localhost:80";
|
cfTunnels."m.uku.moe" = "http://localhost:80";
|
||||||
|
@ -17,16 +15,14 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
dendrite =
|
dendrite = let
|
||||||
let
|
|
||||||
database = {
|
database = {
|
||||||
connection_string = "postgres:///dendrite?host=/run/postgresql";
|
connection_string = "postgres:///dendrite?host=/run/postgresql";
|
||||||
max_open_conns = 50;
|
max_open_conns = 50;
|
||||||
max_idle_conns = 5;
|
max_idle_conns = 5;
|
||||||
conn_max_lifetime = -1;
|
conn_max_lifetime = -1;
|
||||||
};
|
};
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
enable = true;
|
enable = true;
|
||||||
httpPort = 8008;
|
httpPort = 8008;
|
||||||
loadCredential = ["private_key:${secretKey.path}"];
|
loadCredential = ["private_key:${secretKey.path}"];
|
||||||
|
@ -68,16 +64,10 @@ in
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
nginx.virtualHosts."m.uku.moe".locations =
|
nginx.virtualHosts."m.uku.moe".locations = let
|
||||||
let
|
server = {"m.server" = "m.uku.moe:443";};
|
||||||
server = {
|
client = {"m.homeserver"."base_url" = "https://m.uku.moe";};
|
||||||
"m.server" = "m.uku.moe:443";
|
in {
|
||||||
};
|
|
||||||
client = {
|
|
||||||
"m.homeserver"."base_url" = "https://m.uku.moe";
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
"=/.well-known/matrix/server" = {
|
"=/.well-known/matrix/server" = {
|
||||||
return = "200 '${builtins.toJSON server}'";
|
return = "200 '${builtins.toJSON server}'";
|
||||||
};
|
};
|
||||||
|
|
|
@ -3,20 +3,15 @@
|
||||||
config,
|
config,
|
||||||
_utils,
|
_utils,
|
||||||
...
|
...
|
||||||
}:
|
}: let
|
||||||
let
|
|
||||||
secrets = _utils.setupSecrets config {
|
secrets = _utils.setupSecrets config {
|
||||||
secrets = [
|
secrets = ["turnstileSecret" "forgejoRunnerSecret"];
|
||||||
"turnstileSecret"
|
|
||||||
"forgejoRunnerSecret"
|
|
||||||
];
|
|
||||||
extra = {
|
extra = {
|
||||||
owner = "forgejo";
|
owner = "forgejo";
|
||||||
group = "forgejo";
|
group = "forgejo";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
imports = [secrets.generate];
|
imports = [secrets.generate];
|
||||||
|
|
||||||
cfTunnels."git.uku3lig.net" = "http://localhost:3000";
|
cfTunnels."git.uku3lig.net" = "http://localhost:3000";
|
||||||
|
|
|
@ -7,19 +7,12 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
modulesPath,
|
modulesPath,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [
|
boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"];
|
||||||
"xhci_pci"
|
|
||||||
"ahci"
|
|
||||||
"usbhid"
|
|
||||||
"usb_storage"
|
|
||||||
"sd_mod"
|
|
||||||
];
|
|
||||||
boot.initrd.kernelModules = [];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = ["kvm-intel"];
|
boot.kernelModules = ["kvm-intel"];
|
||||||
boot.extraModulePackages = [];
|
boot.extraModulePackages = [];
|
||||||
|
@ -32,10 +25,7 @@
|
||||||
fileSystems."/boot" = {
|
fileSystems."/boot" = {
|
||||||
device = "/dev/disk/by-uuid/FBB1-A79D";
|
device = "/dev/disk/by-uuid/FBB1-A79D";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [
|
options = ["fmask=0022" "dmask=0022"];
|
||||||
"fmask=0022"
|
|
||||||
"dmask=0022"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/data" = {
|
fileSystems."/data" = {
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ ... }:
|
{...}: {
|
||||||
{
|
|
||||||
services.immich = {
|
services.immich = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
|
|
|
@ -3,13 +3,11 @@
|
||||||
mystia,
|
mystia,
|
||||||
_utils,
|
_utils,
|
||||||
...
|
...
|
||||||
}:
|
}: let
|
||||||
let
|
|
||||||
vmcfg = config.services.victoriametrics;
|
vmcfg = config.services.victoriametrics;
|
||||||
secrets = _utils.setupSharedSecrets config {secrets = ["vmAuthToken"];};
|
secrets = _utils.setupSharedSecrets config {secrets = ["vmAuthToken"];};
|
||||||
vmauthEnv = _utils.setupSingleSecret config "vmauthEnv" {};
|
vmauthEnv = _utils.setupSingleSecret config "vmauthEnv" {};
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
mystia.nixosModules.vmauth
|
mystia.nixosModules.vmauth
|
||||||
secrets.generate
|
secrets.generate
|
||||||
|
|
|
@ -4,8 +4,7 @@
|
||||||
config,
|
config,
|
||||||
_utils,
|
_utils,
|
||||||
...
|
...
|
||||||
}:
|
}: let
|
||||||
let
|
|
||||||
inherit (config.virtualisation.oci-containers) backend;
|
inherit (config.virtualisation.oci-containers) backend;
|
||||||
|
|
||||||
secret = _utils.setupSingleSecret config "minecraftEnv" {};
|
secret = _utils.setupSingleSecret config "minecraftEnv" {};
|
||||||
|
@ -49,8 +48,7 @@ let
|
||||||
MODRINTH_PROJECTS = "spark, no-chat-reports";
|
MODRINTH_PROJECTS = "spark, no-chat-reports";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
secret.generate
|
secret.generate
|
||||||
|
|
||||||
|
|
|
@ -2,16 +2,14 @@
|
||||||
config,
|
config,
|
||||||
_utils,
|
_utils,
|
||||||
...
|
...
|
||||||
}:
|
}: let
|
||||||
let
|
|
||||||
cfg = config.services.navidrome;
|
cfg = config.services.navidrome;
|
||||||
|
|
||||||
env = _utils.setupSingleSecret config "navidromeEnv" {
|
env = _utils.setupSingleSecret config "navidromeEnv" {
|
||||||
inherit (cfg) group;
|
inherit (cfg) group;
|
||||||
owner = cfg.user;
|
owner = cfg.user;
|
||||||
};
|
};
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
imports = [env.generate];
|
imports = [env.generate];
|
||||||
|
|
||||||
cfTunnels."navidrome.uku3lig.net" = "http://localhost:4533";
|
cfTunnels."navidrome.uku3lig.net" = "http://localhost:4533";
|
||||||
|
|
|
@ -3,14 +3,12 @@
|
||||||
config,
|
config,
|
||||||
_utils,
|
_utils,
|
||||||
...
|
...
|
||||||
}:
|
}: let
|
||||||
let
|
|
||||||
adminPass = _utils.setupSingleSecret config "nextcloudAdminPass" {
|
adminPass = _utils.setupSingleSecret config "nextcloudAdminPass" {
|
||||||
owner = config.users.users.nextcloud.name;
|
owner = config.users.users.nextcloud.name;
|
||||||
group = config.users.users.nextcloud.name;
|
group = config.users.users.nextcloud.name;
|
||||||
};
|
};
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
imports = [adminPass.generate];
|
imports = [adminPass.generate];
|
||||||
|
|
||||||
# nextcloud generates nginx config
|
# nextcloud generates nginx config
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ camasca, ... }:
|
{camasca, ...}: {
|
||||||
{
|
|
||||||
imports = [camasca.nixosModules.reposilite];
|
imports = [camasca.nixosModules.reposilite];
|
||||||
|
|
||||||
cfTunnels."maven.uku3lig.net" = "http://localhost:8080";
|
cfTunnels."maven.uku3lig.net" = "http://localhost:8080";
|
||||||
|
|
|
@ -1,14 +1,9 @@
|
||||||
{ config, ... }:
|
{config, ...}: let
|
||||||
let
|
|
||||||
inherit (config.virtualisation.oci-containers) backend;
|
inherit (config.virtualisation.oci-containers) backend;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
virtualisation.oci-containers.containers.satisfactory = {
|
virtualisation.oci-containers.containers.satisfactory = {
|
||||||
image = "wolveix/satisfactory-server:v1.8.5";
|
image = "wolveix/satisfactory-server:v1.8.5";
|
||||||
ports = [
|
ports = ["7777:7777/udp" "7777:7777/tcp"];
|
||||||
"7777:7777/udp"
|
|
||||||
"7777:7777/tcp"
|
|
||||||
];
|
|
||||||
volumes = ["/var/lib/satisfactory-server:/config"];
|
volumes = ["/var/lib/satisfactory-server:/config"];
|
||||||
environment = {
|
environment = {
|
||||||
MAXPLAYERS = "4";
|
MAXPLAYERS = "4";
|
||||||
|
|
|
@ -4,16 +4,11 @@
|
||||||
api-rs,
|
api-rs,
|
||||||
ukubot-rs,
|
ukubot-rs,
|
||||||
...
|
...
|
||||||
}:
|
}: let
|
||||||
let
|
|
||||||
secrets = _utils.setupSecrets config {
|
secrets = _utils.setupSecrets config {
|
||||||
secrets = [
|
secrets = ["apiRsEnv" "ukubotRsEnv"];
|
||||||
"apiRsEnv"
|
|
||||||
"ukubotRsEnv"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
api-rs.nixosModules.default
|
api-rs.nixosModules.default
|
||||||
ukubot-rs.nixosModules.default
|
ukubot-rs.nixosModules.default
|
||||||
|
|
|
@ -2,11 +2,9 @@
|
||||||
_utils,
|
_utils,
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}:
|
}: let
|
||||||
let
|
|
||||||
upsdPass = _utils.setupSingleSecret config "upsdUserPass" {};
|
upsdPass = _utils.setupSingleSecret config "upsdUserPass" {};
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
imports = [upsdPass.generate];
|
imports = [upsdPass.generate];
|
||||||
|
|
||||||
power.ups = {
|
power.ups = {
|
||||||
|
@ -23,10 +21,7 @@ in
|
||||||
users.admin = {
|
users.admin = {
|
||||||
passwordFile = upsdPass.path;
|
passwordFile = upsdPass.path;
|
||||||
instcmds = ["ALL"];
|
instcmds = ["ALL"];
|
||||||
actions = [
|
actions = ["SET" "FSD"];
|
||||||
"SET"
|
|
||||||
"FSD"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
ups.eaton-3s-850 = {
|
ups.eaton-3s-850 = {
|
||||||
|
|
|
@ -2,11 +2,9 @@
|
||||||
config,
|
config,
|
||||||
_utils,
|
_utils,
|
||||||
...
|
...
|
||||||
}:
|
}: let
|
||||||
let
|
|
||||||
envFile = _utils.setupSingleSecret config "vaultwardenEnv" {};
|
envFile = _utils.setupSingleSecret config "vaultwardenEnv" {};
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
imports = [envFile.generate];
|
imports = [envFile.generate];
|
||||||
|
|
||||||
cfTunnels."bw.uku3lig.net" = "http://localhost:8222";
|
cfTunnels."bw.uku3lig.net" = "http://localhost:8222";
|
||||||
|
|
|
@ -3,8 +3,7 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
nixos-wsl,
|
nixos-wsl,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
nixos-wsl.nixosModules.default
|
nixos-wsl.nixosModules.default
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
./nvidia.nix
|
./nvidia.nix
|
||||||
../../programs/games.nix
|
../../programs/games.nix
|
||||||
|
|
|
@ -7,19 +7,12 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
modulesPath,
|
modulesPath,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [
|
boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "nvme" "usbhid" "sd_mod"];
|
||||||
"xhci_pci"
|
|
||||||
"ahci"
|
|
||||||
"nvme"
|
|
||||||
"usbhid"
|
|
||||||
"sd_mod"
|
|
||||||
];
|
|
||||||
boot.initrd.kernelModules = [];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = ["kvm-intel"];
|
boot.kernelModules = ["kvm-intel"];
|
||||||
boot.extraModulePackages = [];
|
boot.extraModulePackages = [];
|
||||||
|
|
|
@ -2,8 +2,7 @@
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
{
|
|
||||||
services.xserver.videoDrivers = lib.mkForce ["nvidia"];
|
services.xserver.videoDrivers = lib.mkForce ["nvidia"];
|
||||||
|
|
||||||
boot.kernelParams = [
|
boot.kernelParams = [
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ camasca, ... }:
|
{camasca, ...}: {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
camasca.nixosModules.asus-numpad
|
camasca.nixosModules.asus-numpad
|
||||||
../../programs/games.nix
|
../../programs/games.nix
|
||||||
|
|
|
@ -7,21 +7,12 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
modulesPath,
|
modulesPath,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [
|
boot.initrd.availableKernelModules = ["xhci_pci" "thunderbolt" "vmd" "nvme" "usb_storage" "sd_mod" "rtsx_usb_sdmmc"];
|
||||||
"xhci_pci"
|
|
||||||
"thunderbolt"
|
|
||||||
"vmd"
|
|
||||||
"nvme"
|
|
||||||
"usb_storage"
|
|
||||||
"sd_mod"
|
|
||||||
"rtsx_usb_sdmmc"
|
|
||||||
];
|
|
||||||
boot.initrd.kernelModules = [];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = ["kvm-intel"];
|
boot.kernelModules = ["kvm-intel"];
|
||||||
boot.extraModulePackages = [];
|
boot.extraModulePackages = [];
|
||||||
|
|
|
@ -3,11 +3,9 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
camasca,
|
camasca,
|
||||||
...
|
...
|
||||||
}:
|
}: let
|
||||||
let
|
|
||||||
inherit (pkgs.stdenv.hostPlatform) system;
|
inherit (pkgs.stdenv.hostPlatform) system;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
gtkterm
|
gtkterm
|
||||||
remmina
|
remmina
|
||||||
|
|
|
@ -7,20 +7,12 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
modulesPath,
|
modulesPath,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [
|
boot.initrd.availableKernelModules = ["xhci_pci" "thunderbolt" "nvme" "usbhid" "usb_storage" "sd_mod"];
|
||||||
"xhci_pci"
|
|
||||||
"thunderbolt"
|
|
||||||
"nvme"
|
|
||||||
"usbhid"
|
|
||||||
"usb_storage"
|
|
||||||
"sd_mod"
|
|
||||||
];
|
|
||||||
boot.initrd.kernelModules = [];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = ["kvm-intel"];
|
boot.kernelModules = ["kvm-intel"];
|
||||||
boot.extraModulePackages = [];
|
boot.extraModulePackages = [];
|
||||||
|
@ -33,10 +25,7 @@
|
||||||
fileSystems."/boot" = {
|
fileSystems."/boot" = {
|
||||||
device = "/dev/disk/by-uuid/D4AA-EE25";
|
device = "/dev/disk/by-uuid/D4AA-EE25";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [
|
options = ["fmask=0022" "dmask=0022"];
|
||||||
"fmask=0022"
|
|
||||||
"dmask=0022"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [
|
swapDevices = [
|
||||||
|
|
|
@ -3,19 +3,14 @@
|
||||||
config,
|
config,
|
||||||
_utils,
|
_utils,
|
||||||
...
|
...
|
||||||
}:
|
}: let
|
||||||
let
|
|
||||||
secrets = _utils.setupSharedSecrets config {secrets = ["frpToken"];};
|
secrets = _utils.setupSharedSecrets config {secrets = ["frpToken"];};
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
imports = [secrets.generate];
|
imports = [secrets.generate];
|
||||||
|
|
||||||
zramSwap.enable = true;
|
zramSwap.enable = true;
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [dig traceroute];
|
||||||
dig
|
|
||||||
traceroute
|
|
||||||
];
|
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
openssh.ports = [4269];
|
openssh.ports = [4269];
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ modulesPath, ... }:
|
{modulesPath, ...}: {
|
||||||
{
|
|
||||||
imports = ["${modulesPath}/profiles/qemu-guest.nix"];
|
imports = ["${modulesPath}/profiles/qemu-guest.nix"];
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
|
@ -15,15 +14,8 @@
|
||||||
kernelParams = ["console=tty"];
|
kernelParams = ["console=tty"];
|
||||||
|
|
||||||
initrd = {
|
initrd = {
|
||||||
availableKernelModules = [
|
availableKernelModules = ["ata_piix" "uhci_hcd" "xen_blkfront"];
|
||||||
"ata_piix"
|
kernelModules = ["nvme" "virtio_gpu"];
|
||||||
"uhci_hcd"
|
|
||||||
"xen_blkfront"
|
|
||||||
];
|
|
||||||
kernelModules = [
|
|
||||||
"nvme"
|
|
||||||
"virtio_gpu"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue