Compare commits
44 Commits
c2e4fbb59f
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| cbd4e7b4bb | |||
| a1057c5954 | |||
| 2409574330 | |||
| 6b09de5afc | |||
| e5ca18d368 | |||
| 68ac29b68b | |||
| e89003a063 | |||
| 62072e71ea | |||
| 6bfb3286e3 | |||
| 325705f4cb | |||
| 96a92bd67f | |||
| b17b2ab977 | |||
| 2d2a7e6765 | |||
| a9dfdccf63 | |||
| 8a1ed7b0ab | |||
| 04a9d2ce76 | |||
| d4d9e715ff | |||
| 3b23c25509 | |||
| 0874bb6698 | |||
| 316bffb9f5 | |||
| b19be561bf | |||
| 452426f363 | |||
| a50801f5bb | |||
| dee3da3b12 | |||
| 8cdb41674c | |||
| eaf994c5b5 | |||
| ccc7116c3f | |||
| 7be66a5d2f | |||
| 686501d464 | |||
| 09686e1ee6 | |||
| 7caf921746 | |||
| 7b86a1cb21 | |||
| 4f18892d1b | |||
| 580fcac817 | |||
| 8364bbb3cb | |||
| e0e7f514ec | |||
| 82f69166c5 | |||
| dce2e160da | |||
| b10e5253f8 | |||
| d4a0ab60cf | |||
| 5269b2ee10 | |||
| d9c9b55d49 | |||
| fd5e28b368 | |||
| da793b82e7 |
@@ -22,6 +22,7 @@
|
|||||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||||
# "mirai:bcVPoFGBZ0i7JAKMXIqLj2GY3CulLC4kP7rQyqes1RM="
|
# "mirai:bcVPoFGBZ0i7JAKMXIqLj2GY3CulLC4kP7rQyqes1RM="
|
||||||
];
|
];
|
||||||
|
download-buffer-size = 524288000;
|
||||||
};
|
};
|
||||||
extraOptions = ''
|
extraOptions = ''
|
||||||
build-users-group = nixbld
|
build-users-group = nixbld
|
||||||
|
|||||||
@@ -2,15 +2,12 @@
|
|||||||
homebrew = {
|
homebrew = {
|
||||||
enable = true;
|
enable = true;
|
||||||
brews = [
|
brews = [
|
||||||
"docker-compose"
|
|
||||||
];
|
];
|
||||||
casks = [
|
casks = [
|
||||||
"1password"
|
"1password"
|
||||||
"docker"
|
|
||||||
"raycast"
|
"raycast"
|
||||||
"lunar"
|
"lunar"
|
||||||
"orcaslicer"
|
"orcaslicer"
|
||||||
"zed"
|
|
||||||
"zen"
|
"zen"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,15 +1,18 @@
|
|||||||
{...}: {
|
{...}: {
|
||||||
imports = [
|
imports = [
|
||||||
# ../../../modules/darwin/caddy
|
# ../../../modules/darwin/caddy
|
||||||
./yabai.nix
|
|
||||||
./skhd.nix
|
|
||||||
./tailscale.nix
|
|
||||||
./autossh.nix
|
|
||||||
# ./caddy.nix
|
|
||||||
./sops.nix
|
|
||||||
# ./lmstudio.nix
|
|
||||||
# ./colima.nix
|
|
||||||
# ./zerotier.nix
|
|
||||||
# ./aerospace.nix
|
# ./aerospace.nix
|
||||||
|
# ./caddy.nix
|
||||||
|
# ./colima.nix
|
||||||
|
# ./lmstudio.nix
|
||||||
|
# ./zerotier.nix
|
||||||
|
|
||||||
|
./autossh.nix
|
||||||
|
./skhd.nix
|
||||||
|
./sops.nix
|
||||||
|
./sunshine.nix
|
||||||
|
./tailscale.nix
|
||||||
|
./yabai.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
10
darwin/shiro/services/sunshine.nix
Normal file
10
darwin/shiro/services/sunshine.nix
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{...}: {
|
||||||
|
homebrew = {
|
||||||
|
taps = [
|
||||||
|
"lizardbyte/homebrew"
|
||||||
|
];
|
||||||
|
brews = [
|
||||||
|
"lizardbyte/homebrew/sunshine-beta"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
1754
flake.lock
generated
1754
flake.lock
generated
File diff suppressed because it is too large
Load Diff
36
flake.nix
36
flake.nix
@@ -164,6 +164,30 @@
|
|||||||
url = "github:christo-auer/eilmeldung";
|
url = "github:christo-auer/eilmeldung";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
servius-website = {
|
||||||
|
url = "git+https://git.darksailor.dev/servius/servius.neocities.org";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
nixify = {
|
||||||
|
url = "github:uttarayan21/nixify";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
tangled-core = {
|
||||||
|
url = "git+https://tangled.org/tangled.org/core";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
hyprland = {
|
||||||
|
url = "github:hyprwm/Hyprland";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
iamb = {
|
||||||
|
url = "github:ulyssa/iamb/latest";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
cinny = {
|
||||||
|
url = "github:cinnyapp/cinny/dev";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = {
|
outputs = {
|
||||||
@@ -341,16 +365,20 @@
|
|||||||
};
|
};
|
||||||
config.allowUnfree = true;
|
config.allowUnfree = true;
|
||||||
};
|
};
|
||||||
|
cratesNix = inputs.crates-nix.mkLib {inherit pkgs;};
|
||||||
in {
|
in {
|
||||||
# packages = rec {
|
|
||||||
# default = neovim;
|
|
||||||
# neovim = pkgs.nixvim.makeNixvim (pkgs.callPackage ./neovim);
|
|
||||||
# };
|
|
||||||
devShells = {
|
devShells = {
|
||||||
default = pkgs.mkShell {
|
default = pkgs.mkShell {
|
||||||
packages = with pkgs; [sops just openssl ast-grep];
|
packages = with pkgs; [sops just openssl ast-grep];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
packages = {
|
||||||
|
default = cratesNix.buildCrate "ironclaw" {
|
||||||
|
nativeBuildInputs = [pkgs.pkg-config];
|
||||||
|
buildInputs = [pkgs.openssl];
|
||||||
|
doCheck = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -52,9 +52,13 @@
|
|||||||
khal = {
|
khal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
addresses = ["email@uttarayan.me"];
|
addresses = ["email@uttarayan.me"];
|
||||||
|
type = "discover";
|
||||||
};
|
};
|
||||||
vdirsyncer = {
|
vdirsyncer = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
conflictResolution = "remote wins";
|
||||||
|
collections = ["from a"];
|
||||||
|
metadata = ["color" "displayname"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
1
home/apps/cinny.nix
Normal file
1
home/apps/cinny.nix
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{pkgs, ...}: {home.packages = [pkgs.cinny-desktop];}
|
||||||
@@ -7,6 +7,7 @@ lib.optionalAttrs device.hasGui {
|
|||||||
imports = [
|
imports = [
|
||||||
# ./audacity.nix
|
# ./audacity.nix
|
||||||
# ./bottles.nix
|
# ./bottles.nix
|
||||||
|
# ./cinny.nix
|
||||||
# ./cursor.nix
|
# ./cursor.nix
|
||||||
# ./gimp.nix
|
# ./gimp.nix
|
||||||
# ./guitarix.nix
|
# ./guitarix.nix
|
||||||
@@ -26,11 +27,15 @@ lib.optionalAttrs device.hasGui {
|
|||||||
# ./vial.nix
|
# ./vial.nix
|
||||||
# ./vlc.nix
|
# ./vlc.nix
|
||||||
# ./vscode.nix
|
# ./vscode.nix
|
||||||
|
# ./zen.nix
|
||||||
|
|
||||||
|
./moonlight.nix
|
||||||
|
# ./zed.nix
|
||||||
|
|
||||||
./affine.nix
|
./affine.nix
|
||||||
./blueman.nix
|
./blueman.nix
|
||||||
./chromium.nix
|
./chromium.nix
|
||||||
./discord.nix
|
# ./discord.nix
|
||||||
./firefox.nix
|
./firefox.nix
|
||||||
./ghostty.nix
|
./ghostty.nix
|
||||||
./hyprpicker.nix
|
./hyprpicker.nix
|
||||||
@@ -43,7 +48,6 @@ lib.optionalAttrs device.hasGui {
|
|||||||
./vicinae.nix
|
./vicinae.nix
|
||||||
./wezterm.nix
|
./wezterm.nix
|
||||||
./zathura.nix
|
./zathura.nix
|
||||||
./zed.nix
|
|
||||||
./zen.nix
|
./zen.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,13 +3,13 @@
|
|||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
home.packages = lib.optionals pkgs.stdenv.isLinux [
|
# home.packages = lib.optionals pkgs.stdenv.isLinux [
|
||||||
(pkgs.discord.override {
|
# (pkgs.discord.override {
|
||||||
withOpenASAR = true;
|
# withOpenASAR = true;
|
||||||
withVencord = true;
|
# withVencord = true;
|
||||||
})
|
# })
|
||||||
# pkgs.vesktop
|
# # pkgs.vesktop
|
||||||
# pkgs.discord-canary
|
# # pkgs.discord-canary
|
||||||
# pkgs.discord-ptb
|
# # pkgs.discord-ptb
|
||||||
];
|
# ];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,11 +8,8 @@
|
|||||||
stylix.targets.kitty.enable = false;
|
stylix.targets.kitty.enable = false;
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# enable = false;
|
|
||||||
font = {
|
font = {
|
||||||
# name = "FiraCode Nerd Font Mono";
|
|
||||||
name = "Hasklug Nerd Font Mono";
|
name = "Hasklug Nerd Font Mono";
|
||||||
# name = "Monaspace Krypton Var Light";
|
|
||||||
size = lib.mkForce 13;
|
size = lib.mkForce 13;
|
||||||
};
|
};
|
||||||
settings = {
|
settings = {
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
}: {
|
}: {
|
||||||
home.packages = lib.optionals (device.is "ryu") [
|
home.packages = lib.optionals (device.is "ryu") [
|
||||||
pkgs.fluffychat
|
pkgs.fluffychat
|
||||||
pkgs.fractal
|
pkgs.element-desktop
|
||||||
# pkgs.quaternion
|
# pkgs.quaternion
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
8
home/apps/moonlight.nix
Normal file
8
home/apps/moonlight.nix
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
device,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
home.packages = lib.optionals (device.name == "ryu") [pkgs.moonlight-qt];
|
||||||
|
}
|
||||||
@@ -8,9 +8,10 @@
|
|||||||
imports = [
|
imports = [
|
||||||
inputs.zen-browser.homeModules.beta
|
inputs.zen-browser.homeModules.beta
|
||||||
];
|
];
|
||||||
|
programs.zen-browser.darwinDefaultsId = "org.mozilla.firefox.plist";
|
||||||
programs.zen-browser = {
|
programs.zen-browser = {
|
||||||
enable = true;
|
enable = true;
|
||||||
profiles.default = {
|
profiles.default = rec {
|
||||||
containersForce = true;
|
containersForce = true;
|
||||||
containers = {
|
containers = {
|
||||||
Personal = {
|
Personal = {
|
||||||
@@ -34,36 +35,118 @@
|
|||||||
containers = config.programs.zen-browser.profiles."default".containers;
|
containers = config.programs.zen-browser.profiles."default".containers;
|
||||||
in {
|
in {
|
||||||
"Personal" = {
|
"Personal" = {
|
||||||
id = "";
|
id = "0b4dab19-9b39-4f2c-8ad1-0268d9fa2e49";
|
||||||
icon = "👤";
|
icon = "👤";
|
||||||
container = containers."Personal".id;
|
container = containers."Personal".id;
|
||||||
position = 1000;
|
position = 1000;
|
||||||
};
|
};
|
||||||
"Work" = {
|
"Work" = {
|
||||||
id = "00bdd434-e31b-4e2b-b8f5-fa7055631a64";
|
id = "8f687163-6b15-4c3c-885f-8ffe465b386f";
|
||||||
icon = "💼";
|
icon = "💼";
|
||||||
container = containers."Work".id;
|
container = containers."Work".id;
|
||||||
position = 2000;
|
position = 2000;
|
||||||
};
|
};
|
||||||
"Shopping" = {
|
"Shopping" = {
|
||||||
id = "77452260-56e6-4c9e-8d5f-417958bc4fa4";
|
id = "74f46a1b-cdd7-408c-98d7-382a2b11bd51";
|
||||||
icon = "💸";
|
icon = "💸";
|
||||||
container = containers."Shopping".id;
|
container = containers."Shopping".id;
|
||||||
position = 3000;
|
position = 3000;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [
|
extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [
|
||||||
privacy-badger
|
|
||||||
violentmonkey
|
|
||||||
tridactyl
|
|
||||||
clearurls
|
clearurls
|
||||||
onepassword-password-manager
|
floccus
|
||||||
ublock-origin
|
|
||||||
i-dont-care-about-cookies
|
i-dont-care-about-cookies
|
||||||
keepa
|
keepa
|
||||||
|
onepassword-password-manager
|
||||||
|
privacy-badger
|
||||||
sponsorblock
|
sponsorblock
|
||||||
floccus
|
tridactyl
|
||||||
|
ublock-origin
|
||||||
|
violentmonkey
|
||||||
];
|
];
|
||||||
|
search = {
|
||||||
|
force = true;
|
||||||
|
default = "ddg";
|
||||||
|
engines = {
|
||||||
|
mynixos = {
|
||||||
|
name = "My NixOS";
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://mynixos.com/search?q={searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
|
definedAliases = ["@nx"]; # Keep in mind that aliases defined here only work if they start with "@"
|
||||||
|
};
|
||||||
|
hm = {
|
||||||
|
name = "Home Manager Options";
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://home-manager-options.extranix.com/?query={searchTerms}&release=master";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
definedAliases = ["@hm"];
|
||||||
|
};
|
||||||
|
nv = {
|
||||||
|
name = "NixVim";
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://nix-community.github.io/nixvim/search";
|
||||||
|
params = [
|
||||||
|
{
|
||||||
|
name = "query";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
definedAliases = ["@nv"];
|
||||||
|
};
|
||||||
|
lib = {
|
||||||
|
name = "Lib.rs";
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://lib.rs/search";
|
||||||
|
params = [
|
||||||
|
{
|
||||||
|
name = "q";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
definedAliases = ["@lib"];
|
||||||
|
};
|
||||||
|
searchix = {
|
||||||
|
name = "Searchix";
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://searchix.ovh/?query={searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
definedAliases = ["sx"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
pins = {
|
||||||
|
dashboard = {
|
||||||
|
id = "d163f090-67b7-47d2-8f76-7d638b9f742b";
|
||||||
|
workspace = spaces.Personal.id;
|
||||||
|
url = "https://dashboard.darksailor.dev";
|
||||||
|
isEssential = true;
|
||||||
|
position = 101;
|
||||||
|
};
|
||||||
|
github = {
|
||||||
|
id = "db2f3e36-9279-4b8d-8b5d-52a90f34ea0d";
|
||||||
|
workspace = spaces.Personal.id;
|
||||||
|
url = "https://github.com";
|
||||||
|
isEssential = true;
|
||||||
|
position = 102;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
pinsForce = true;
|
||||||
};
|
};
|
||||||
nativeMessagingHosts = [pkgs.tridactyl-native];
|
nativeMessagingHosts = [pkgs.tridactyl-native];
|
||||||
policies = {
|
policies = {
|
||||||
@@ -84,6 +167,5 @@
|
|||||||
Fingerprinting = true;
|
Fingerprinting = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
suppressXdgMigrationWarning = true;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,17 @@
|
|||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
programs.khal.enable = true;
|
programs.khal = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
default = {
|
||||||
|
# default_calendar = "fastmail";
|
||||||
|
};
|
||||||
|
view = {
|
||||||
|
agenda_event_format = "{calendar-color}{cancelled}{start-end-time-style} {title}{repeat-symbol}{reset}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
programs.qcal.enable = true;
|
programs.qcal.enable = true;
|
||||||
programs.vdirsyncer.enable = true;
|
programs.vdirsyncer.enable = true;
|
||||||
|
services.vdirsyncer.enable = true;
|
||||||
accounts.calendar.accounts.fastmail.qcal.enable = true;
|
accounts.calendar.accounts.fastmail.qcal.enable = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,9 @@
|
|||||||
cratesNix,
|
cratesNix,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
cargo-credential-1password = cratesNix.buildCrate "cargo-credential-1password" {};
|
cargo-credential-1password = cratesNix.buildCrate "cargo-credential-1password" {
|
||||||
|
meta.mainProgram = "cargo-credential-1password";
|
||||||
|
};
|
||||||
in
|
in
|
||||||
lib.mkIf (!device.isServer) {
|
lib.mkIf (!device.isServer) {
|
||||||
home.file.".cargo/config.toml".text =
|
home.file.".cargo/config.toml".text =
|
||||||
|
|||||||
1
home/programs/codex.nix
Normal file
1
home/programs/codex.nix
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{pkgs, ...}: {home.packages = [pkgs.codex];}
|
||||||
@@ -7,6 +7,7 @@
|
|||||||
# ./bluetui.nix
|
# ./bluetui.nix
|
||||||
# ./goread.nix
|
# ./goread.nix
|
||||||
# ./helix.nix
|
# ./helix.nix
|
||||||
|
# ./iamb.nix
|
||||||
# ./magika.nix
|
# ./magika.nix
|
||||||
# ./mpd.nix
|
# ./mpd.nix
|
||||||
# ./mpris-scrobbler.nix
|
# ./mpris-scrobbler.nix
|
||||||
@@ -19,6 +20,7 @@
|
|||||||
# ./template.nix
|
# ./template.nix
|
||||||
# ./tuifeed.nix
|
# ./tuifeed.nix
|
||||||
# ./xh.nix
|
# ./xh.nix
|
||||||
|
# ./yt-dlp.nix
|
||||||
# ./zellij.nix
|
# ./zellij.nix
|
||||||
|
|
||||||
../../modules
|
../../modules
|
||||||
@@ -40,6 +42,7 @@
|
|||||||
./carapace.nix
|
./carapace.nix
|
||||||
./cargo.nix
|
./cargo.nix
|
||||||
./cfcli.nix
|
./cfcli.nix
|
||||||
|
./codex.nix
|
||||||
./ddcbacklight.nix
|
./ddcbacklight.nix
|
||||||
./deploy-rs.nix
|
./deploy-rs.nix
|
||||||
./direnv.nix
|
./direnv.nix
|
||||||
@@ -64,6 +67,7 @@
|
|||||||
./neomutt.nix
|
./neomutt.nix
|
||||||
./neovim.nix
|
./neovim.nix
|
||||||
./nix-index.nix
|
./nix-index.nix
|
||||||
|
./nixify.nix
|
||||||
./nushell.nix
|
./nushell.nix
|
||||||
./omnix.nix
|
./omnix.nix
|
||||||
./opencode.nix
|
./opencode.nix
|
||||||
@@ -80,8 +84,7 @@
|
|||||||
./tmux.nix
|
./tmux.nix
|
||||||
./uv.nix
|
./uv.nix
|
||||||
./yazi.nix
|
./yazi.nix
|
||||||
./yt-dlp.nix
|
|
||||||
./zoxide.nix
|
|
||||||
./yq.nix
|
./yq.nix
|
||||||
|
./zoxide.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +1,8 @@
|
|||||||
{pkgs, ...}: {home.packages = [pkgs.deploy-rs.deploy-rs];}
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
device,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
home.packages = lib.optionals (device.is "ryu") [pkgs.deploy-rs.deploy-rs];
|
||||||
|
}
|
||||||
|
|||||||
@@ -23,6 +23,7 @@
|
|||||||
j = "just --choose";
|
j = "just --choose";
|
||||||
# t = "zellij a -c --index 0";
|
# t = "zellij a -c --index 0";
|
||||||
t = "tmux";
|
t = "tmux";
|
||||||
|
neorg = "nvim -c ':Neorg index'";
|
||||||
};
|
};
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
g = "git";
|
g = "git";
|
||||||
@@ -33,7 +34,7 @@
|
|||||||
'';
|
'';
|
||||||
# ${pkgs.spotify-player}/bin/spotify_player generate fish | source
|
# ${pkgs.spotify-player}/bin/spotify_player generate fish | source
|
||||||
interactiveShellInit = ''
|
interactiveShellInit = ''
|
||||||
if test -n "$TMUX"; ${lib.getExe pkgs.fastfetch} --logo-type sixel; else ${lib.getExe pkgs.fastfetch}; end
|
if test -n "$TMUX"; ${lib.getExe pkgs.fastfetch} --logo-type kitty-icat; else ${lib.getExe pkgs.fastfetch}; end
|
||||||
# ${pkgs.nb}/bin/nb todo undone
|
# ${pkgs.nb}/bin/nb todo undone
|
||||||
${lib.optionalString (device.isLinux && !device.isNix) "source /etc/profile.d/nix-daemon.fish"}
|
${lib.optionalString (device.isLinux && !device.isNix) "source /etc/profile.d/nix-daemon.fish"}
|
||||||
${lib.optionalString (device.is "ryu") ''
|
${lib.optionalString (device.is "ryu") ''
|
||||||
@@ -44,6 +45,15 @@
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
home.shell.enableFishIntegration = true;
|
home.shell.enableFishIntegration = true;
|
||||||
|
|
||||||
|
# programs.bash = {
|
||||||
|
# enable = true;
|
||||||
|
# initExtra = ''
|
||||||
|
# if [[ $- == *i* && -z "$FISH_VERSION" ]]; then
|
||||||
|
# ${lib.getExe pkgs.fish}
|
||||||
|
# fi
|
||||||
|
# '';
|
||||||
|
# };
|
||||||
}
|
}
|
||||||
// lib.optionalAttrs (!(device.is "tsuba")) {
|
// lib.optionalAttrs (!(device.is "tsuba")) {
|
||||||
stylix.targets.fish.enable = false;
|
stylix.targets.fish.enable = false;
|
||||||
|
|||||||
3
home/programs/iamb.nix
Normal file
3
home/programs/iamb.nix
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{pkgs, ...}: {
|
||||||
|
home.packages = [pkgs.iamb];
|
||||||
|
}
|
||||||
9
home/programs/nixify.nix
Normal file
9
home/programs/nixify.nix
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
home.packages = [
|
||||||
|
inputs.nixify.packages.${pkgs.system}.default
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -36,11 +36,11 @@ in {
|
|||||||
pkgs.writeShellApplication {
|
pkgs.writeShellApplication {
|
||||||
name = "git-install-prepare-commit-msg";
|
name = "git-install-prepare-commit-msg";
|
||||||
text = ''
|
text = ''
|
||||||
cp ${../scripts/prepare-commit-msg} .git/hooks/prepare-commit-msg
|
ln -sf ${../scripts/prepare-commit-msg} .git/hooks/prepare-commit-msg
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
(mkScript ../scripts/yt-dlp.sh (with pkgs; [yt-dlp]))
|
# (mkScript ../scripts/yt-dlp.sh (with pkgs; [yt-dlp]))
|
||||||
(mkScript ../scripts/autossh.sh (with pkgs; [autossh openssh]))
|
# (mkScript ../scripts/autossh.sh (with pkgs; [autossh openssh]))
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,18 +1,20 @@
|
|||||||
{...}: {
|
{...}: {
|
||||||
imports = [
|
imports = [
|
||||||
|
./gtk.nix
|
||||||
|
./gui.nix
|
||||||
|
./hyprland.nix
|
||||||
|
./hyprmon.nix
|
||||||
|
./hyprpaper.nix
|
||||||
|
./ironbar
|
||||||
|
./kdeconnect.nix
|
||||||
|
./remmina.nix
|
||||||
|
# ./ollama.nix
|
||||||
./swaync.nix
|
./swaync.nix
|
||||||
./swayosd.nix
|
./swayosd.nix
|
||||||
./kdeconnect.nix
|
|
||||||
./gtk.nix
|
|
||||||
# ./anyrun.nix
|
|
||||||
./ironbar
|
|
||||||
./gui.nix
|
|
||||||
# ./eww.nix
|
|
||||||
./xdg.nix
|
./xdg.nix
|
||||||
./hyprmon.nix
|
./ironclaw.nix
|
||||||
./hyprland.nix
|
# ./anyrun.nix
|
||||||
./hyprpaper.nix
|
# ./eww.nix
|
||||||
./remmina.nix
|
|
||||||
# ./wallpaperengine.nix
|
# ./wallpaperengine.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
device,
|
device,
|
||||||
lib,
|
lib,
|
||||||
|
inputs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
# lib.optionalAttrs device.isNix
|
# lib.optionalAttrs device.isNix
|
||||||
@@ -31,6 +32,8 @@
|
|||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
enable = device.is "ryu";
|
enable = device.is "ryu";
|
||||||
systemd.enable = true;
|
systemd.enable = true;
|
||||||
|
package = pkgs.hyprland;
|
||||||
|
portalPackage = pkgs.xdph;
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
# source = "${pkgs.catppuccinThemes.hyprland}/themes/mocha.conf";
|
# source = "${pkgs.catppuccinThemes.hyprland}/themes/mocha.conf";
|
||||||
@@ -172,7 +175,7 @@
|
|||||||
|
|
||||||
exec-once = [
|
exec-once = [
|
||||||
# "${pkgs.polkit-kde-agent}/libexec/polkit-kde-authentication-agent-1"
|
# "${pkgs.polkit-kde-agent}/libexec/polkit-kde-authentication-agent-1"
|
||||||
"${pkgs.mate.mate-polkit}/libexec/polkit-mate-authentication-agent-1"
|
"${pkgs.mate-polkit}/libexec/polkit-mate-authentication-agent-1"
|
||||||
# "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"
|
# "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"
|
||||||
# "${pkgs.swww}/bin/swww init; swww img ~/.local/share/dotfiles/images/wallpaper.jpg"
|
# "${pkgs.swww}/bin/swww init; swww img ~/.local/share/dotfiles/images/wallpaper.jpg"
|
||||||
# "${pkgs.ironbar}/bin/ironbar"
|
# "${pkgs.ironbar}/bin/ironbar"
|
||||||
@@ -203,7 +206,7 @@
|
|||||||
"$mainMod, d, exec, ${lib.getExe pkgs.vicinae} toggle"
|
"$mainMod, d, exec, ${lib.getExe pkgs.vicinae} toggle"
|
||||||
"$mainMod, Space, exec, ${lib.getExe pkgs.vicinae} toggle"
|
"$mainMod, Space, exec, ${lib.getExe pkgs.vicinae} toggle"
|
||||||
"$mainMod, p, pseudo, # dwindle"
|
"$mainMod, p, pseudo, # dwindle"
|
||||||
"$mainMod, v, togglesplit,"
|
"$mainMod, v, layoutmsg, togglesplit"
|
||||||
"$mainMod, a, exec, ${pkgs.swaynotificationcenter}/bin/swaync-client -t"
|
"$mainMod, a, exec, ${pkgs.swaynotificationcenter}/bin/swaync-client -t"
|
||||||
"$mainMod, Tab, cyclenext"
|
"$mainMod, Tab, cyclenext"
|
||||||
# Audio
|
# Audio
|
||||||
|
|||||||
@@ -8,8 +8,10 @@
|
|||||||
wallpapers = import ../../utils/wallhaven.nix {inherit pkgs;};
|
wallpapers = import ../../utils/wallhaven.nix {inherit pkgs;};
|
||||||
nextcloudWallpapers = name: config.home.homeDirectory + "/Nextcloud/Wallpapers/" + name;
|
nextcloudWallpapers = name: config.home.homeDirectory + "/Nextcloud/Wallpapers/" + name;
|
||||||
# silksongFleas = nextcloudWallpapers "silksong-fleas.jpg";
|
# silksongFleas = nextcloudWallpapers "silksong-fleas.jpg";
|
||||||
bocchiVertical = nextcloudWallpapers "bocchi-vertical.jpg";
|
|
||||||
silksongShadeLord = nextcloudWallpapers "silksong-shadelord.jpg";
|
# The artist https://www.bilibili.com/video/BV1s44y1S7MM/
|
||||||
|
bocchiVertical = nextcloudWallpapers "bocchi-guitar.jpg";
|
||||||
|
frieren = nextcloudWallpapers "frieren.png";
|
||||||
in {
|
in {
|
||||||
enable = device.is "ryu";
|
enable = device.is "ryu";
|
||||||
settings = {
|
settings = {
|
||||||
@@ -17,12 +19,12 @@
|
|||||||
wallpaper = [
|
wallpaper = [
|
||||||
{
|
{
|
||||||
monitor = device.monitors.primary;
|
monitor = device.monitors.primary;
|
||||||
path = silksongShadeLord;
|
path = wallpapers.moon;
|
||||||
fit_mode = "cover";
|
fit_mode = "cover";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
monitor = device.monitors.secondary;
|
monitor = device.monitors.secondary;
|
||||||
path = wallpapers.frieren_3;
|
path = frieren;
|
||||||
fit_mode = "cover";
|
fit_mode = "cover";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
|||||||
12
home/services/ironclaw.nix
Normal file
12
home/services/ironclaw.nix
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
device,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
home.packages =
|
||||||
|
lib.optionals (device.is "ryu")
|
||||||
|
[
|
||||||
|
pkgs.ironclaw
|
||||||
|
];
|
||||||
|
}
|
||||||
7
home/services/ollama.nix
Normal file
7
home/services/ollama.nix
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
device,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
services.ollama.enable = device.is "shiro";
|
||||||
|
}
|
||||||
@@ -2,6 +2,7 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
device,
|
device,
|
||||||
|
inputs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
xdg.portal = {
|
xdg.portal = {
|
||||||
@@ -10,10 +11,9 @@
|
|||||||
hyprland.default = ["hyprland"];
|
hyprland.default = ["hyprland"];
|
||||||
common.default = ["*" "hyprland"];
|
common.default = ["*" "hyprland"];
|
||||||
};
|
};
|
||||||
extraPortals = with pkgs; [
|
|
||||||
kdePackages.xdg-desktop-portal-kde
|
|
||||||
xdg-desktop-portal-hyprland
|
|
||||||
xdg-desktop-portal-gtk
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
# // lib.optionalAttrs (device.is "ryu") {
|
||||||
|
# environment.pathsToLink = ["/share/xdg-desktop-portal" "/share/applications"];
|
||||||
|
# }
|
||||||
|
|
||||||
|
|||||||
@@ -1,48 +1,17 @@
|
|||||||
{
|
{...}: {
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with lib; let
|
|
||||||
cfg = config.nix.substituters;
|
|
||||||
in {
|
|
||||||
options.nix.substituters = {
|
|
||||||
enableCuda = mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
description = "Enable NixOS CUDA cache";
|
|
||||||
};
|
|
||||||
|
|
||||||
enableLlamaCpp = mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
description = "Enable llama-cpp cache";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
nix.settings = {
|
nix.settings = {
|
||||||
trusted-substituters =
|
trusted-substituters = [
|
||||||
[
|
|
||||||
"https://nix-community.cachix.org"
|
"https://nix-community.cachix.org"
|
||||||
"https://nixos-raspberrypi.cachix.org"
|
"https://nixos-raspberrypi.cachix.org"
|
||||||
]
|
|
||||||
++ optionals cfg.enableLlamaCpp [
|
|
||||||
"https://llama-cpp.cachix.org"
|
"https://llama-cpp.cachix.org"
|
||||||
]
|
|
||||||
++ optionals cfg.enableCuda [
|
|
||||||
"https://cache.nixos-cuda.org"
|
"https://cache.nixos-cuda.org"
|
||||||
];
|
];
|
||||||
|
|
||||||
trusted-public-keys =
|
trusted-public-keys = [
|
||||||
[
|
|
||||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||||
"nixos-raspberrypi.cachix.org-1:4iMO9LXa8BqhU+Rpg6LQKiGa2lsNh/j2oiYLNOQ5sPI="
|
"nixos-raspberrypi.cachix.org-1:4iMO9LXa8BqhU+Rpg6LQKiGa2lsNh/j2oiYLNOQ5sPI="
|
||||||
]
|
|
||||||
++ optionals cfg.enableLlamaCpp [
|
|
||||||
"llama-cpp.cachix.org-1:H75X+w83wUKTIPSO1KWy9ADUrzThyGs8P5tmAbkWhQc="
|
"llama-cpp.cachix.org-1:H75X+w83wUKTIPSO1KWy9ADUrzThyGs8P5tmAbkWhQc="
|
||||||
]
|
|
||||||
++ optionals cfg.enableCuda [
|
|
||||||
"cache.nixos-cuda.org:74DUi4Ye579gUqzH4ziL9IyiJBlDpMRn9MBN8oNan9M="
|
"cache.nixos-cuda.org:74DUi4Ye579gUqzH4ziL9IyiJBlDpMRn9MBN8oNan9M="
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -289,7 +289,7 @@ in {
|
|||||||
"core.keybinds" = {
|
"core.keybinds" = {
|
||||||
config = {
|
config = {
|
||||||
default_keybinds = true;
|
default_keybinds = true;
|
||||||
neorg_leader = "<C-m>";
|
neorg_leader = "<C-i>";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
"core.integrations.treesitter" = {
|
"core.integrations.treesitter" = {
|
||||||
@@ -686,7 +686,7 @@ in {
|
|||||||
blink-ripgrep.enable = true;
|
blink-ripgrep.enable = true;
|
||||||
blink-cmp-git.enable = true;
|
blink-cmp-git.enable = true;
|
||||||
blink-cmp-dictionary.enable = true;
|
blink-cmp-dictionary.enable = true;
|
||||||
blink-cmp-copilot.enable = true;
|
# blink-cmp-copilot.enable = true;
|
||||||
blink-cmp-spell.enable = true;
|
blink-cmp-spell.enable = true;
|
||||||
blink-cmp-tmux.enable = true;
|
blink-cmp-tmux.enable = true;
|
||||||
blink-compat = {
|
blink-compat = {
|
||||||
|
|||||||
@@ -42,8 +42,8 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
in [
|
in [
|
||||||
inputs.nno.overlays.default
|
|
||||||
inputs.nixvim.overlays.default
|
inputs.nixvim.overlays.default
|
||||||
vimPlugins
|
inputs.nno.overlays.default
|
||||||
tree-sitter-grammars
|
tree-sitter-grammars
|
||||||
|
vimPlugins
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
inputs.sops-nix.nixosModules.sops
|
inputs.sops-nix.nixosModules.sops
|
||||||
inputs.stylix.nixosModules.stylix
|
inputs.stylix.nixosModules.stylix
|
||||||
inputs.headplane.nixosModules.headplane
|
inputs.headplane.nixosModules.headplane
|
||||||
|
inputs.tangled-core.nixosModules.knot
|
||||||
|
|
||||||
./${device.name}/configuration.nix
|
./${device.name}/configuration.nix
|
||||||
../home/module.nix
|
../home/module.nix
|
||||||
|
|||||||
@@ -4,5 +4,5 @@
|
|||||||
documentation.dev.enable = true;
|
documentation.dev.enable = true;
|
||||||
documentation.doc.enable = true;
|
documentation.doc.enable = true;
|
||||||
documentation.nixos.enable = true;
|
documentation.nixos.enable = true;
|
||||||
documentation.man.generateCaches = true;
|
documentation.man.cache.enable = true;
|
||||||
}
|
}
|
||||||
|
|||||||
3
nixos/ryu/apps/crosspipe.nix
Normal file
3
nixos/ryu/apps/crosspipe.nix
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{pkgs, ...}: {
|
||||||
|
environment.systemPackages = with pkgs; [crosspipe];
|
||||||
|
}
|
||||||
@@ -7,7 +7,7 @@
|
|||||||
# ./alvr.nix
|
# ./alvr.nix
|
||||||
./easyeffects.nix
|
./easyeffects.nix
|
||||||
./vr.nix
|
./vr.nix
|
||||||
./helvum.nix
|
./crosspipe.nix
|
||||||
# ./wine.nix
|
# ./wine.nix
|
||||||
# ./virt.nix
|
# ./virt.nix
|
||||||
./gparted.nix
|
./gparted.nix
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
{pkgs, ...}: {
|
|
||||||
environment.systemPackages = with pkgs; [helvum];
|
|
||||||
}
|
|
||||||
@@ -3,6 +3,7 @@
|
|||||||
lib,
|
lib,
|
||||||
device,
|
device,
|
||||||
config,
|
config,
|
||||||
|
inputs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
@@ -22,15 +23,6 @@
|
|||||||
tctiEnvironment.enable = true;
|
tctiEnvironment.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
programs = {
|
|
||||||
hyprland = {
|
|
||||||
enable = true;
|
|
||||||
withUWSM = true;
|
|
||||||
xwayland.enable = true;
|
|
||||||
};
|
|
||||||
uwsm.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.services.NetworkManager-wait-online.enable = lib.mkForce false;
|
systemd.services.NetworkManager-wait-online.enable = lib.mkForce false;
|
||||||
# systemd.tmpfiles.rules = [
|
# systemd.tmpfiles.rules = [
|
||||||
# "L+ /etc/gdm/.config/monitors.xml - - - - ${./monitors.xml}"
|
# "L+ /etc/gdm/.config/monitors.xml - - - - ${./monitors.xml}"
|
||||||
@@ -49,6 +41,7 @@
|
|||||||
extra-experimental-features = "nix-command flakes auto-allocate-uids";
|
extra-experimental-features = "nix-command flakes auto-allocate-uids";
|
||||||
trusted-users = [device.user];
|
trusted-users = [device.user];
|
||||||
extra-sandbox-paths = [config.programs.ccache.cacheDir];
|
extra-sandbox-paths = [config.programs.ccache.cacheDir];
|
||||||
|
download-buffer-size = 524288000;
|
||||||
};
|
};
|
||||||
extraOptions = ''
|
extraOptions = ''
|
||||||
build-users-group = nixbld
|
build-users-group = nixbld
|
||||||
@@ -67,11 +60,6 @@
|
|||||||
# ../../builders/tsuba.nix
|
# ../../builders/tsuba.nix
|
||||||
];
|
];
|
||||||
distributedBuilds = true;
|
distributedBuilds = true;
|
||||||
# Enable CUDA and llama-cpp caches
|
|
||||||
substituters = {
|
|
||||||
enableCuda = true;
|
|
||||||
enableLlamaCpp = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users.${device.user} = {
|
users.users.${device.user} = {
|
||||||
|
|||||||
@@ -22,5 +22,6 @@
|
|||||||
./foot.nix
|
./foot.nix
|
||||||
./ddcutil.nix
|
./ddcutil.nix
|
||||||
./libnotify.nix
|
./libnotify.nix
|
||||||
|
./fish.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
7
nixos/ryu/programs/fish.nix
Normal file
7
nixos/ryu/programs/fish.nix
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{...}: {
|
||||||
|
programs.fish = {
|
||||||
|
enable = true;
|
||||||
|
generateCompletions = true;
|
||||||
|
};
|
||||||
|
stylix.targets.fish.enable = false;
|
||||||
|
}
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
device,
|
device,
|
||||||
|
lib,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
programs.gamemode = {
|
programs.gamemode = {
|
||||||
@@ -12,7 +13,7 @@
|
|||||||
custom = {
|
custom = {
|
||||||
start = let
|
start = let
|
||||||
out = pkgs.writeScriptBin "gamemode-start" ''
|
out = pkgs.writeScriptBin "gamemode-start" ''
|
||||||
${pkgs.lmstudio}/bin/lms unload
|
${lib.getExe pkgs.ollama} ps | tail +2 | cut -d' ' -f1 | xargs ${lib.getExe pkgs.ollama} stop
|
||||||
${pkgs.libnotify}/bin/notify-send 'GameMode started'
|
${pkgs.libnotify}/bin/notify-send 'GameMode started'
|
||||||
'';
|
'';
|
||||||
in "${out}/bin/gamemode-start";
|
in "${out}/bin/gamemode-start";
|
||||||
|
|||||||
@@ -1,6 +1,19 @@
|
|||||||
{pkgs, ...}: {
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
hyprland
|
xhost
|
||||||
xorg.xhost
|
|
||||||
];
|
];
|
||||||
|
programs = {
|
||||||
|
hyprland = {
|
||||||
|
enable = true;
|
||||||
|
withUWSM = true;
|
||||||
|
xwayland.enable = true;
|
||||||
|
package = pkgs.hyprland;
|
||||||
|
portalPackage = pkgs.xdph;
|
||||||
|
};
|
||||||
|
uwsm.enable = true;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,8 +7,5 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
dumpcap.enable = true;
|
dumpcap.enable = true;
|
||||||
};
|
};
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
wireshark-qt
|
|
||||||
];
|
|
||||||
users.users.${device.user}.extraGroups = ["wireshark"];
|
users.users.${device.user}.extraGroups = ["wireshark"];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -130,11 +130,10 @@
|
|||||||
options = ["nofail"];
|
options = ["nofail"];
|
||||||
};
|
};
|
||||||
|
|
||||||
# fileSystems."/volumes/windows-games" = {
|
fileSystems."/var" = {
|
||||||
# device = "/dev/disk/by-partuuid/56359fb7-7d33-44d2-bebd-b0c53daeeb73";
|
device = "/dev/disk/by-uuid/ff874913-dc21-43f3-82f8-cdf45dd888f7";
|
||||||
# fsType = "ntfs3";
|
fsType = "ext4";
|
||||||
# options = ["nofail"];
|
};
|
||||||
# };
|
|
||||||
|
|
||||||
swapDevices = [
|
swapDevices = [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -57,9 +57,6 @@
|
|||||||
};
|
};
|
||||||
package = pkgs.nixVersions.nix_2_32; # deploy-rs doesn't work with nix >= 2.32
|
package = pkgs.nixVersions.nix_2_32; # deploy-rs doesn't work with nix >= 2.32
|
||||||
distributedBuilds = true;
|
distributedBuilds = true;
|
||||||
substituters = {
|
|
||||||
enableCuda = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users.${device.user} = {
|
users.users.${device.user} = {
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
./resolved.nix
|
./resolved.nix
|
||||||
./tailscale.nix
|
./tailscale.nix
|
||||||
./gitea.nix
|
./gitea.nix
|
||||||
|
./knot.nix
|
||||||
|
|
||||||
./affine.nix
|
./affine.nix
|
||||||
./attic.nix
|
./attic.nix
|
||||||
@@ -24,10 +25,11 @@
|
|||||||
./llms.nix
|
./llms.nix
|
||||||
./matrix
|
./matrix
|
||||||
./monitoring.nix
|
./monitoring.nix
|
||||||
|
# ./servius-website.nix
|
||||||
# ./paperless.nix
|
# ./paperless.nix
|
||||||
./prowlarr.nix
|
./prowlarr.nix
|
||||||
# ./searxng.nix
|
# ./searxng.nix
|
||||||
# ./shitpost.nix
|
./shitpost.nix
|
||||||
];
|
];
|
||||||
services = {
|
services = {
|
||||||
nix-serve = {
|
nix-serve = {
|
||||||
|
|||||||
@@ -59,6 +59,14 @@
|
|||||||
siteMonitor = "https://deluge.tsuba.darksailor.dev";
|
siteMonitor = "https://deluge.tsuba.darksailor.dev";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
"Aria2" = {
|
||||||
|
icon = "aria2.png";
|
||||||
|
description = "Aria2: Download Manager";
|
||||||
|
href = "https://aria2.tsuba.darksailor.dev";
|
||||||
|
siteMonitor = "https://aria2.tsuba.darksailor.dev";
|
||||||
|
};
|
||||||
|
}
|
||||||
{
|
{
|
||||||
"Home Assistant" = {
|
"Home Assistant" = {
|
||||||
icon = "home-assistant.png";
|
icon = "home-assistant.png";
|
||||||
|
|||||||
31
nixos/tako/services/knot.nix
Normal file
31
nixos/tako/services/knot.nix
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
services.tangled.knot = {
|
||||||
|
enable = true;
|
||||||
|
package = inputs.tangled-core.packages.${pkgs.system}.knot;
|
||||||
|
server = {
|
||||||
|
hostname = "tangled.darksailor.dev";
|
||||||
|
owner = "did:plc:tllyvpa5oxw6fwwhkj3kv6dr";
|
||||||
|
listenAddr = "127.0.0.1:5969";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.caddy.virtualHosts."tangled.darksailor.dev".extraConfig = ''
|
||||||
|
reverse_proxy ${config.services.tangled.knot.server.listenAddr} {
|
||||||
|
header_up Host {host}
|
||||||
|
header_up X-Real-IP {remote}
|
||||||
|
header_up X-Forwarded-For {remote}
|
||||||
|
header_up X-Forwarded-Proto {scheme}
|
||||||
|
}
|
||||||
|
handle /events/* {
|
||||||
|
reverse_proxy ${config.services.tangled.knot.server.listenAddr} {
|
||||||
|
header_up X-Forwarded-For {remote}
|
||||||
|
header_up Host {host}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
}
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
config,
|
config,
|
||||||
|
inputs,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
base_domain = "darksailor.dev";
|
base_domain = "darksailor.dev";
|
||||||
@@ -17,18 +18,12 @@
|
|||||||
cinny = with pkgs;
|
cinny = with pkgs;
|
||||||
buildNpmPackage rec {
|
buildNpmPackage rec {
|
||||||
pname = "cinny-unwrapped";
|
pname = "cinny-unwrapped";
|
||||||
version = "4.10.5";
|
version = "4.11.1";
|
||||||
|
src = inputs.cinny;
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "cinnyapp";
|
|
||||||
repo = "cinny";
|
|
||||||
tag = "v${version}";
|
|
||||||
hash = "sha256-Napy3AcsLRDZPcBh3oq1U30FNtvoNtob0+AZtZSvcbM=";
|
|
||||||
};
|
|
||||||
|
|
||||||
nodejs = nodejs_22;
|
nodejs = nodejs_22;
|
||||||
|
|
||||||
npmDepsHash = "sha256-2Lrd0jAwAH6HkwLHyivqwaEhcpFAIALuno+MchSIfxo=";
|
npmDepsHash = "sha256-27WFjb08p09aJRi0S2PvYq3bivEuG5+z2QhFahTSj4Q=";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
python3
|
python3
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{...}: {
|
{...}: {
|
||||||
imports = [
|
imports = [
|
||||||
./tuwunel.nix
|
./tuwunel.nix
|
||||||
|
./cinny.nix
|
||||||
# ./signal.nix
|
# ./signal.nix
|
||||||
# ./discord.nix
|
# ./discord.nix
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -285,7 +285,7 @@ in {
|
|||||||
{
|
{
|
||||||
targets = [
|
targets = [
|
||||||
"tsuba:8096" # jellyfin (built-in /metrics endpoint)
|
"tsuba:8096" # jellyfin (built-in /metrics endpoint)
|
||||||
"tsuba:8123" # homeassistant (configure prometheus integration)
|
# "tsuba:8123" # homeassistant (configure prometheus integration)
|
||||||
"tsuba:9617" # pihole-exporter
|
"tsuba:9617" # pihole-exporter
|
||||||
];
|
];
|
||||||
labels = {
|
labels = {
|
||||||
@@ -302,12 +302,12 @@ in {
|
|||||||
target_label = "__metrics_path__";
|
target_label = "__metrics_path__";
|
||||||
replacement = "/metrics";
|
replacement = "/metrics";
|
||||||
}
|
}
|
||||||
{
|
# {
|
||||||
source_labels = ["__address__"];
|
# source_labels = ["__address__"];
|
||||||
regex = "tsuba:8123";
|
# regex = "tsuba:8123";
|
||||||
target_label = "__metrics_path__";
|
# target_label = "__metrics_path__";
|
||||||
replacement = "/api/prometheus";
|
# replacement = "/api/prometheus";
|
||||||
}
|
# }
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
services = {
|
services = {
|
||||||
nextcloud = {
|
nextcloud = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.nextcloud32;
|
package = pkgs.nextcloud33;
|
||||||
extraApps = {
|
extraApps = {
|
||||||
inherit (config.services.nextcloud.package.packages.apps) contacts calendar bookmarks user_oidc;
|
inherit (config.services.nextcloud.package.packages.apps) contacts calendar bookmarks user_oidc;
|
||||||
};
|
};
|
||||||
|
|||||||
12
nixos/tako/services/servius-website.nix
Normal file
12
nixos/tako/services/servius-website.nix
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
website = inputs.servius-website.packages.${pkgs.system}.default;
|
||||||
|
in {
|
||||||
|
services.caddy.virtualHosts."servius.darksailor.dev".extraConfig = ''
|
||||||
|
root * ${website}
|
||||||
|
file_server
|
||||||
|
'';
|
||||||
|
}
|
||||||
33
nixos/tsuba/services/aria2.nix
Normal file
33
nixos/tsuba/services/aria2.nix
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
sops.secrets."aria2/rpc-secret" = {};
|
||||||
|
|
||||||
|
services.aria2 = {
|
||||||
|
enable = true;
|
||||||
|
rpcSecretFile = config.sops.secrets."aria2/rpc-secret".path;
|
||||||
|
settings = {
|
||||||
|
continue = true;
|
||||||
|
dir = "/media/downloads";
|
||||||
|
enable-rpc = true;
|
||||||
|
file-allocation = "none";
|
||||||
|
max-concurrent-downloads = 5;
|
||||||
|
max-connection-per-server = 16;
|
||||||
|
rpc-listen-all = true;
|
||||||
|
rpc-listen-port = 6809;
|
||||||
|
split = 16;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.caddy.virtualHosts."aria2.tsuba.darksailor.dev".extraConfig = ''
|
||||||
|
import cloudflare
|
||||||
|
root * ${pkgs.ariang}/share/ariang
|
||||||
|
file_server
|
||||||
|
'';
|
||||||
|
services.caddy.virtualHosts."aria2.tsuba.darksailor.dev:6800".extraConfig = ''
|
||||||
|
import cloudflare
|
||||||
|
reverse_proxy localhost:${toString config.services.aria2.settings.rpc-listen-port}
|
||||||
|
'';
|
||||||
|
}
|
||||||
@@ -6,6 +6,7 @@
|
|||||||
./caddy.nix
|
./caddy.nix
|
||||||
./servarr.nix
|
./servarr.nix
|
||||||
./deluge.nix
|
./deluge.nix
|
||||||
|
./aria2.nix
|
||||||
./homeassistant.nix
|
./homeassistant.nix
|
||||||
./flaresolverr.nix
|
./flaresolverr.nix
|
||||||
./caddy.nix
|
./caddy.nix
|
||||||
|
|||||||
30
overlays.nix
30
overlays.nix
@@ -1,4 +1,5 @@
|
|||||||
{inputs, ...} @ self: let
|
{inputs, ...} @ self: let
|
||||||
|
cratesNix = pkgs: inputs.crates-nix.mkLib {inherit pkgs;};
|
||||||
# --- Shell / CLI utilities ---
|
# --- Shell / CLI utilities ---
|
||||||
shell-scripts = final: prev: {
|
shell-scripts = final: prev: {
|
||||||
handlr-xdg = final.pkgs.writeShellApplication {
|
handlr-xdg = final.pkgs.writeShellApplication {
|
||||||
@@ -26,9 +27,9 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
tmux-float = inputs.tmux-float.packages.${prev.system}.default;
|
tmux-float = inputs.tmux-float.packages.${prev.stdenv.hostPlatform.system}.default;
|
||||||
zellijPlugins = {
|
zellijPlugins = {
|
||||||
zjstatus = inputs.zjstatus.packages.${prev.system}.default;
|
zjstatus = inputs.zjstatus.packages.${prev.stdenv.hostPlatform.system}.default;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -57,21 +58,21 @@
|
|||||||
|
|
||||||
# --- Networking ---
|
# --- Networking ---
|
||||||
networking = final: prev: {
|
networking = final: prev: {
|
||||||
caddyWithCloudflare = inputs.nixpkgs.legacyPackages.${final.system}.caddy.withPlugins {
|
caddyWithCloudflare = inputs.nixpkgs.legacyPackages.${prev.stdenv.hostPlatform.system}.caddy.withPlugins {
|
||||||
plugins = ["github.com/caddy-dns/cloudflare@v0.2.2"];
|
plugins = ["github.com/caddy-dns/cloudflare@v0.2.2"];
|
||||||
hash = "sha256-dnhEjopeA0UiI+XVYHYpsjcEI6Y1Hacbi28hVKYQURg=";
|
hash = "sha256-Gb1nC5fZfj7IodQmKmEPGygIHNYhKWV1L0JJiqnVtbs=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# --- Media ---
|
# --- Media ---
|
||||||
media = final: prev: {
|
media = final: prev: {
|
||||||
ddcbacklight = inputs.ddcbacklight.packages.${prev.system}.ddcbacklight;
|
ddcbacklight = inputs.ddcbacklight.packages.${prev.stdenv.hostPlatform.system}.ddcbacklight;
|
||||||
music-player-git = inputs.music-player.packages.${prev.system}.default;
|
music-player-git = inputs.music-player.packages.${prev.stdenv.hostPlatform.system}.default;
|
||||||
};
|
};
|
||||||
|
|
||||||
# --- macOS-specific ---
|
# --- macOS-specific ---
|
||||||
darwin = final: prev: {
|
darwin = final: prev: {
|
||||||
kitty = inputs.nixpkgs-stable.legacyPackages.${prev.system}.kitty;
|
kitty = inputs.nixpkgs-stable.legacyPackages.${prev.stdenv.hostPlatform.system}.kitty;
|
||||||
yabai = prev.yabai.overrideAttrs (oldAttrs: rec {
|
yabai = prev.yabai.overrideAttrs (oldAttrs: rec {
|
||||||
version = "7.1.16";
|
version = "7.1.16";
|
||||||
src = final.fetchzip {
|
src = final.fetchzip {
|
||||||
@@ -81,12 +82,24 @@
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
applications = final: prev: {
|
||||||
|
iamb = inputs.iamb.packages.${prev.stdenv.hostPlatform.system}.default;
|
||||||
|
hyprland = inputs.hyprland.packages.${prev.stdenv.hostPlatform.system}.hyprland;
|
||||||
|
xdg-desktop-portal-hyprland = prev.enableDebugging inputs.hyprland.packages.${prev.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
||||||
|
xdph = inputs.nixpkgs-master.legacyPackages.${prev.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
||||||
|
ironclaw = (cratesNix prev).buildCrate "ironclaw" {
|
||||||
|
nativeBuildInputs = [prev.pkg-config];
|
||||||
|
buildInputs = [prev.openssl];
|
||||||
|
doCheck = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
# --- Themes and assets ---
|
# --- Themes and assets ---
|
||||||
themes = final: prev: {
|
themes = final: prev: {
|
||||||
catppuccinThemes = import ./themes/catppuccin.nix {pkgs = final.pkgs;};
|
catppuccinThemes = import ./themes/catppuccin.nix {pkgs = final.pkgs;};
|
||||||
nix-index-database = final.runCommandLocal "nix-index-database" {} ''
|
nix-index-database = final.runCommandLocal "nix-index-database" {} ''
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
ln -s ${inputs.nix-index-database.legacyPackages.${prev.system}.database} $out/files
|
ln -s ${inputs.nix-index-database.legacyPackages.${prev.stdenv.hostPlatform.system}.database} $out/files
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
@@ -99,6 +112,7 @@ in
|
|||||||
media
|
media
|
||||||
darwin
|
darwin
|
||||||
themes
|
themes
|
||||||
|
applications
|
||||||
|
|
||||||
# External input overlays
|
# External input overlays
|
||||||
inputs.deploy-rs.overlays.default
|
inputs.deploy-rs.overlays.default
|
||||||
|
|||||||
@@ -108,6 +108,8 @@ coturn:
|
|||||||
static_auth_secret: ENC[AES256_GCM,data:osEBYgWGZl+SnqVV1G9IxMys/qDm6WTtj4nILYVw0klDjiB6vd21yA0ik/rLv9E6Y539uMCk3oB0NS7I72U1hQ==,iv:jruS3vfe0fVHY67qNhEgaCEp/9cR57UIu8a/LhdTC1o=,tag:vhxXhh9u4bOSu/lxINjvew==,type:str]
|
static_auth_secret: ENC[AES256_GCM,data:osEBYgWGZl+SnqVV1G9IxMys/qDm6WTtj4nILYVw0klDjiB6vd21yA0ik/rLv9E6Y539uMCk3oB0NS7I72U1hQ==,iv:jruS3vfe0fVHY67qNhEgaCEp/9cR57UIu8a/LhdTC1o=,tag:vhxXhh9u4bOSu/lxINjvew==,type:str]
|
||||||
affine:
|
affine:
|
||||||
db_password: ENC[AES256_GCM,data:AbpoEbmeihtVIoRaWxVL8+v3oCk5iiia9qZLKgyy98qTuNZruiaV3kQN6clYvWgHbzJta5/H9e+xocrEtw8C/A==,iv:2vPeDAJuVujPgM+kr6AFAvat2MCJnsblebx23Ey7YNA=,tag:ukuK30aZ//MKabhSRtLNXw==,type:str]
|
db_password: ENC[AES256_GCM,data:AbpoEbmeihtVIoRaWxVL8+v3oCk5iiia9qZLKgyy98qTuNZruiaV3kQN6clYvWgHbzJta5/H9e+xocrEtw8C/A==,iv:2vPeDAJuVujPgM+kr6AFAvat2MCJnsblebx23Ey7YNA=,tag:ukuK30aZ//MKabhSRtLNXw==,type:str]
|
||||||
|
aria2:
|
||||||
|
rpc-secret: ENC[AES256_GCM,data:peFtDURHjlQOAM1v1AP9BBHmXhpPTE0kKRcL9eBV9rIFnDcKw5+nAP9+8sW4CRcE6l9DoxZFau7+IsnDgrFp5g==,iv:DkHiaZlPcHMnOPLflxlF4fs/bdOe799/SQQZ9WZ1Tq4=,tag:R1aWdUQdtzySOmYitNxD1Q==,type:str]
|
||||||
sops:
|
sops:
|
||||||
age:
|
age:
|
||||||
- recipient: age1pw7kluxp7872c63ne4jecq75glj060jkmqwzkk6esatuyck9egfswufdpk
|
- recipient: age1pw7kluxp7872c63ne4jecq75glj060jkmqwzkk6esatuyck9egfswufdpk
|
||||||
@@ -119,7 +121,7 @@ sops:
|
|||||||
VGZKdHpVeFRpQUxtSEkyaEhLMlBJcGsKLb0DvPNZosPBUuiX6qz1s5IO5INQh8CK
|
VGZKdHpVeFRpQUxtSEkyaEhLMlBJcGsKLb0DvPNZosPBUuiX6qz1s5IO5INQh8CK
|
||||||
ZtXTVClwMSmaUYhdSB2gKFrKVZHXTJZ4oAL5t/BpC0pOHyr+o96T3Q==
|
ZtXTVClwMSmaUYhdSB2gKFrKVZHXTJZ4oAL5t/BpC0pOHyr+o96T3Q==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2026-02-24T08:02:58Z"
|
lastmodified: "2026-03-13T17:35:01Z"
|
||||||
mac: ENC[AES256_GCM,data:JzKh6k1nzp2sTDXFG0/bJbBSksCri2WIcXU0C+cyCg6hHzQMsKc36xSRfyrytW8r6rCooJRlC46nPYvFH9JhG/1uIAx4QU/PAvgzEKvXOQi2xXULajpEeCAdmU8TERl3to9JCTAhCbV7oibzOalC6WbVOfhQvqBYWN2JamwCHwc=,iv:oMmpcadFUZT5mdMQ8BzGoKKdpV2PvtaoXhOsKSYUGII=,tag:cdBim93M98OcSNZsmPQ57A==,type:str]
|
mac: ENC[AES256_GCM,data:6VfirvrqmBLDg3XnJzBY5z1Fy/yAOhuLF6YnFH0pJ17beIHfkQQ/BbL0vBI1YfjyGjqQannp/0SpEwqA5uhvaHpQV2F1eFwotjrgFiGBrnhirLSXiHLGcnQtIeu2ue1McwbtJVZNWaOtdcz71+QeKn53+4jcDnb/wu/46+Q/nB0=,iv:eQ61Bpyom1cvTRZMiAMes2lrAGlAtuKTAxR/k2Caxh4=,tag:i+SBR1/V6jb3c3mGT4XykQ==,type:str]
|
||||||
unencrypted_suffix: _unencrypted
|
unencrypted_suffix: _unencrypted
|
||||||
version: 3.11.0
|
version: 3.11.0
|
||||||
|
|||||||
Reference in New Issue
Block a user