Compare commits

...

10 Commits

Author SHA1 Message Date
4DBug
0bd23c5dfb push 2026-03-01 04:43:23 -06:00
4DBug
986d227257 push 2026-03-01 04:41:47 -06:00
4DBug
2d4510c2fd push 2026-03-01 03:55:20 -06:00
4DBug
8ff72d5c6a push 2026-02-27 11:53:10 -06:00
4DBug
84974b56ad push 2026-02-27 10:59:22 -06:00
4DBug
1583ad75ee push 2026-02-27 09:15:01 -06:00
4DBug
b025e987fc push 2026-02-27 08:31:37 -06:00
4DBug
31a6f3aff8 push 2026-02-24 11:21:53 -06:00
4DBug
6b5e71dd6c push 2026-02-24 11:17:37 -06:00
4DBug
ca84fd5165 push 2026-02-23 09:50:47 -06:00
20 changed files with 340 additions and 88 deletions

135
flake.lock generated
View File

@@ -68,17 +68,35 @@
"type": "github" "type": "github"
} }
}, },
"copyparty": { "catppuccin": {
"inputs": { "inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1771709154, "lastModified": 1772153824,
"narHash": "sha256-OtbD6omjc5fZ8eWDgZe6JC9OvRbYU7+E/FUlZaydX/Q=", "narHash": "sha256-T65qXmlcD9qFpPTi+mOXsn4dIkO2N8Ls67nqmuzepv0=",
"owner": "catppuccin",
"repo": "nix",
"rev": "4b0f5b7bf7b3eeb484d49524f3c9791864ab9362",
"type": "github"
},
"original": {
"owner": "catppuccin",
"repo": "nix",
"type": "github"
}
},
"copyparty": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1771834427,
"narHash": "sha256-B1j0ahVuxyZtpbFfy34gk2DjacimPIuzyzCPvDhvxI4=",
"owner": "9001", "owner": "9001",
"repo": "copyparty", "repo": "copyparty",
"rev": "f5e70c7f6729e4f905863dbf057649eeac9425ec", "rev": "ab8bd0178b26a0b6c6406f7bae835d13b16ef188",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -133,6 +151,20 @@
"type": "github" "type": "github"
} }
}, },
"flake-compat": {
"locked": {
"lastModified": 1733328505,
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
"revCount": 69,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
}
},
"flake-file": { "flake-file": {
"locked": { "locked": {
"lastModified": 1771017549, "lastModified": 1771017549,
@@ -169,6 +201,24 @@
} }
}, },
"flake-parts_2": { "flake-parts_2": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1769996383,
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_3": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
"stylix", "stylix",
@@ -290,7 +340,58 @@
"type": "github" "type": "github"
} }
}, },
"nixcord": {
"inputs": {
"flake-compat": "flake-compat",
"flake-parts": "flake-parts_2",
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1772266502,
"narHash": "sha256-HBO3W1ooO9UwmxwwwFflnbCrAVHhaxpB8YnxFGPvOsY=",
"owner": "FlameFlag",
"repo": "nixcord",
"rev": "e805e50f0cc8b9f2d950dc81cd9ee1c986899eaf",
"type": "github"
},
"original": {
"owner": "FlameFlag",
"repo": "nixcord",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": {
"lastModified": 1771848320,
"narHash": "sha256-0MAd+0mun3K/Ns8JATeHT1sX28faLII5hVLq0L3BdZU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "2fc6539b481e1d2569f25f8799236694180c0993",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1769909678,
"narHash": "sha256-cBEymOf4/o3FD5AZnzC3J9hLbiZ+QDT/KDuyHXVJOpM=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "72716169fe93074c333e8d0173151350670b824c",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1748162331, "lastModified": 1748162331,
"narHash": "sha256-rqc2RKYTxP3tbjA+PB3VMRQNnjesrT0pEofXQTrMsS8=", "narHash": "sha256-rqc2RKYTxP3tbjA+PB3VMRQNnjesrT0pEofXQTrMsS8=",
@@ -305,7 +406,23 @@
"type": "indirect" "type": "indirect"
} }
}, },
"nixpkgs_2": { "nixpkgs_3": {
"locked": {
"lastModified": 1770617025,
"narHash": "sha256-1jZvgZoAagZZB6NwGRv2T2ezPy+X6EFDsJm+YSlsvEs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "2db38e08fdadcc0ce3232f7279bab59a15b94482",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1771207753, "lastModified": 1771207753,
"narHash": "sha256-b9uG8yN50DRQ6A7JdZBfzq718ryYrlmGgqkRm9OOwCE=", "narHash": "sha256-b9uG8yN50DRQ6A7JdZBfzq718ryYrlmGgqkRm9OOwCE=",
@@ -348,6 +465,7 @@
}, },
"root": { "root": {
"inputs": { "inputs": {
"catppuccin": "catppuccin",
"copyparty": "copyparty", "copyparty": "copyparty",
"den": "den", "den": "den",
"flake-aspects": "flake-aspects", "flake-aspects": "flake-aspects",
@@ -356,7 +474,8 @@
"home-manager": "home-manager", "home-manager": "home-manager",
"import-tree": "import-tree", "import-tree": "import-tree",
"nix-flatpak": "nix-flatpak", "nix-flatpak": "nix-flatpak",
"nixpkgs": "nixpkgs_2", "nixcord": "nixcord",
"nixpkgs": "nixpkgs_4",
"nixpkgs-lib": [ "nixpkgs-lib": [
"nixpkgs" "nixpkgs"
], ],
@@ -371,7 +490,7 @@
"base16-helix": "base16-helix", "base16-helix": "base16-helix",
"base16-vim": "base16-vim", "base16-vim": "base16-vim",
"firefox-gnome-theme": "firefox-gnome-theme", "firefox-gnome-theme": "firefox-gnome-theme",
"flake-parts": "flake-parts_2", "flake-parts": "flake-parts_3",
"gnome-shell": "gnome-shell", "gnome-shell": "gnome-shell",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"

View File

@@ -26,5 +26,9 @@
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest"; nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest";
copyparty.url = "github:9001/copyparty"; copyparty.url = "github:9001/copyparty";
catppuccin.url = "github:catppuccin/nix";
nixcord.url = "github:FlameFlag/nixcord";
}; };
} }

View File

@@ -0,0 +1,35 @@
{ inputs, ... }: let
flavor = "mocha";
accent = "mauve";
in {
den.aspects.catppuccin = {
nixos = {
imports = [ inputs.catppuccin.nixosModules.catppuccin ];
catppuccin = {
enable = true;
flavor = flavor;
accent = accent;
grub.enable = true;
gitea.enable = true;
};
};
homeManager = {
imports = [ inputs.catppuccin.homeModules.catppuccin ];
catppuccin = {
enable = true;
flavor = flavor;
accent = accent;
firefox.enable = true;
fish.enable = true;
librewolf.enable = true;
vesktop.enable = true;
zed.enable = true;
};
};
};
}

View File

@@ -0,0 +1,3 @@
{
}

View File

@@ -7,19 +7,28 @@
syncthing syncthing
fish fish
cloudflared #cloudflared
searxng searxng
copyparty copyparty
glances glances
# invidious # invidious
mailserver mailserver
#matrix # matrix
redlib redlib
#sish # sish
vscode-server vscode-server
dns dns
openssh openssh
gitea gitea
catppuccin
(tunnel 3001 "tvtun")
(tunnel 8888 "search")
(tunnel 3210 "files")
(tunnel 3030 "tube")
(tunnel 8975 "reddit")
(tunnel 3002 "git")
(tunnel 61208 "monitor")
]; ];
nixos = { nixos = {

View File

@@ -5,6 +5,9 @@
/etc/nixos/hardware-configuration.nix /etc/nixos/hardware-configuration.nix
]; ];
home-manager.useGlobalPkgs = true;
home-manager.backupFileExtension = "hm-backup";
system = { system = {
stateVersion = "26.05"; stateVersion = "26.05";

View File

@@ -1,28 +1,31 @@
{ den, ... }: { { den, ... }: {
den.aspects.laptop = { den.aspects.laptop = {
includes = [ includes = with den.aspects; [
den.default den.default
<amdgpu> den.aspects.amdgpu
<cosmic> cosmic
<firefox> firefox
<audio> audio
den.provides.home-manager den.provides.home-manager
<stylix> stylix
<syncthing> syncthing
<swap> swap
<cloudflare-warp> cloudflare-warp
<packages> packages
<development> development
<cad> cad
<mpd> mpd
<virtualisation> virtualisation
<flatpak> flatpak
<fish> fish
<dns> dns
<openssh> openssh
<beets> beets
catppuccin
#librewolf
nixcord
]; ];
nixos = { nixos = {

View File

@@ -24,6 +24,9 @@
dns dns
openssh openssh
beets beets
catppuccin
# librewolf
nixcord
]; ];
nixos = { nixos = {

View File

@@ -1,32 +1,32 @@
{ { den, ... }: let
den.aspects.cloudflared = { tunnel_uuid = "4118935e-359b-4dd2-95bd-eb27f7b0c5bb";
nixos = { pkgs, ...}: let domain = "bug.tools";
TUNNEL_UUID = "4118935e-359b-4dd2-95bd-eb27f7b0c5bb"; creds = "/home/bug/.cloudflared/${tunnel_uuid}.json";
in {
environment.systemPackages = [ pkgs.cloudflared ];
environment.etc."cloudflared/${TUNNEL_UUID}.json".source = "/home/bug/.cloudflared/${TUNNEL_UUID}.json"; tunnel = port: subdomain: { pkgs, ... }: {
environment = {
systemPackages = [ pkgs.cloudflared ];
services.cloudflared = { etc."cloudflared/${tunnel_uuid}.json".source = creds;
enable = true; };
tunnels."${TUNNEL_UUID}" = { services.cloudflared = {
credentialsFile = "/etc/cloudflared/${TUNNEL_UUID}.json"; enable = true;
default = "http_status:404";
ingress = { tunnels.${tunnel_uuid} = {
"tvtun.bug.tools" = "http://127.0.0.1:3001"; credentialsFile = "/etc/cloudflared/${tunnel_uuid}.json";
"search.bug.tools" = "http://127.0.0.1:8888"; default = "http_status:404";
"files.bug.tools" = "http://127.0.0.1:3210";
"tube.bug.tools" = "http://127.0.0.1:3030"; ingress = {
"monitor.bug.tools" = "http://127.0.0.1:61208"; "${subdomain}.${domain}" = "http://127.0.0.1:${toString port}";
"reddit.bug.tools" = "http://127.0.0.1:8975";
#"matrix.bug.tools" = "http://127.0.0.1:8008";
#"bug.tools" = "http://127.0.0.1:8080";
"git.bug.tools" = "http://127.0.0.1:3000";
};
}; };
}; };
}; };
}; };
in {
den.aspects.tunnel = port: subdomain: den.lib.parametric {
includes = [
(_: { nixos = tunnel port subdomain; })
];
};
} }

View File

@@ -48,7 +48,7 @@
}; };
"/music" = { "/music" = {
path = "/home/bug/Music/TidalScrape/Downloads/"; path = "/home/bug/Music/";
access = { access = {
r = "*"; r = "*";

View File

@@ -3,17 +3,14 @@
nixos = { nixos = {
services.gitea = { services.gitea = {
enable = true; enable = true;
config = {
database = {
type = "sqlite3";
path = "/var/lib/gitea/gitea.db";
};
server = { database.type = "mysql";
domain = "example.com";
httpPort = 3000; settings.service = {
}; DISABLE_REGISTRATION = true;
}; };
settings.server.HTTP_PORT = 3002;
}; };
}; };
}; };

View File

@@ -1,4 +1,4 @@
{ { den, ...}: {
den.aspects.glances = { den.aspects.glances = {
nixos = { pkgs, ... }: { nixos = { pkgs, ... }: {
environment.systemPackages = [ pkgs.glances ]; environment.systemPackages = [ pkgs.glances ];

View File

@@ -2,7 +2,7 @@
den.aspects.mailserver = { den.aspects.mailserver = {
nixos = { nixos = {
imports = [ imports = [
(builtins.fetchTarball { (fetchTarball {
url = "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/archive/master.tar.gz"; url = "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/archive/master.tar.gz";
sha256 = "0rm5f749xakmkqrpkl5ay1pydbnlinr50pvwg1vm795js2infmj5"; sha256 = "0rm5f749xakmkqrpkl5ay1pydbnlinr50pvwg1vm795js2infmj5";
}) })
@@ -39,8 +39,13 @@
"discord@bug.tools" "discord@bug.tools"
"github@bug.tools" "github@bug.tools"
"matrix@bug.tools" "matrix@bug.tools"
"fluxer@bug.tools"
"git@bug.tools" "git@bug.tools"
"contact@bug.tools"
"fc2@bug.tools"
"counter@bug.tools"
"claude@bug.tools"
"bitcraft@bug.tools"
]; ];
}; };

View File

@@ -1,7 +1,5 @@
general: general:
# Debug mode, only for development. Is overwritten by ${SEARXNG_DEBUG}
debug: false debug: false
# displayed name
instance_name: "search.bug.tools" instance_name: "search.bug.tools"
# For example: https://example.com/privacy # For example: https://example.com/privacy
privacypolicy_url: false privacypolicy_url: false
@@ -9,7 +7,7 @@ general:
# use false to disable the donation link # use false to disable the donation link
donation_url: false donation_url: false
# mailto:contact@example.com # mailto:contact@example.com
contact_url: false contact_url: contact@bug.tools
# record stats # record stats
enable_metrics: true enable_metrics: true
# expose stats in open metrics format at /metrics # expose stats in open metrics format at /metrics
@@ -2177,7 +2175,7 @@ engines:
- name: yahoo - name: yahoo
engine: yahoo engine: yahoo
shortcut: yh shortcut: yh
- name: yahoo news - name: yahoo news
engine: yahoo_news engine: yahoo_news
shortcut: yhn shortcut: yhn
@@ -2823,4 +2821,4 @@ doi_resolvers:
sci-hub.st: 'https://sci-hub.st/' sci-hub.st: 'https://sci-hub.st/'
sci-hub.ru: 'https://sci-hub.ru/' sci-hub.ru: 'https://sci-hub.ru/'
default_doi_resolver: 'oadoi.org' default_doi_resolver: 'oadoi.org'

View File

@@ -0,0 +1,25 @@
{
den.aspects.librewolf = {
homeManager = {
programs.librewolf = {
enable = true;
settings = {
"browser.startup.homepage" = "https://search.bug.tools";
};
# set default search engine to search.bug.tools (searxng)
# and add stylus, tampermonkey, sponsorblock, dearrow, cookie quick manager
policies = {
BlockAboutConfig = true;
};
# https://github.com/nix-community/nur-combined/blob/main/repos/rycee/pkgs/firefox-addons/generated-firefox-addons.nix
};
};
};
}

View File

@@ -0,0 +1,46 @@
{ inputs, ... }: {
den.aspects.nixcord = {
homeManager = {
imports = [ inputs.nixcord.homeModules.nixcord ];
programs.nixcord = {
enable = true;
discord.enable = false;
vesktop.enable = true;
config = {
themeLinks = [ "https://catppuccin.github.io/discord/dist/catppuccin-mocha-mauve.theme.css" ];
plugins = {
alwaysTrust.enable = true;
betterGifPicker.enable = true;
betterUploadButton.enable = true;
biggerStreamPreview.enable = true;
callTimer.enable = true;
fullSearchContext.enable = true;
fullUserInChatbox.enable = true;
implicitRelationships.enable = true;
dearrow.enable = true;
youtubeAdblock.enable = true;
fixYoutubeEmbeds.enable = true;
# lastFMRichPresence = {
# enable = true;
# username = "USER_NAME";
# apiKey = "YOUR_LASTFM_API_KEY";
# hideWithSpotify = false;
# nameFormat = "artist-first";
# useListeningStatus = true;
# showLastFmLogo = false;
# };
viewIcons.enable = true;
volumeBooster.enable = true;
webScreenShareFixes.enable = true;
};
};
};
};
};
}

View File

@@ -26,7 +26,7 @@
users.users.bug.packages = with pkgs; [ users.users.bug.packages = with pkgs; [
obsidian obsidian
vesktop # vesktop
nicotine-plus nicotine-plus
fastfetch fastfetch
gh gh

View File

@@ -5,5 +5,7 @@
(den.provides.user-shell "fish") (den.provides.user-shell "fish")
#den.provides.home-manager #den.provides.home-manager
]; ];
user.extraGroups = [ "networkmanager" "wheel" "audio" "video" "libvirtd" "ydotool" "dialout" ];
}; };
} }

View File

@@ -1,16 +1,16 @@
 ██ ███ ██  ██ ███ ██
 ███ ███◣◢███  ███ ██████
 ███ ██████  ███ ██████
 ████████████████ ◢◣  ████████████████ 
 █████████████████ ██  █████████████████ ██
 ███ ██████  ███ ██████
 ███ █████  ███ █████
█████████ ████████ █████████ ████████
████████ █████████ ████████ █████████
 █████ ███  █████ ███
 ██████ ███  ██████ ███
 ██ █████████████████  ██ █████████████████
 ◥◤ ████████████████   ████████████████
 ██████ ███  ██████ ███
 ███◤◥███ ███  ██████ ███
 ██ ███ ██  ██ ███ ██