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"
}
},
"copyparty": {
"catppuccin": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1771709154,
"narHash": "sha256-OtbD6omjc5fZ8eWDgZe6JC9OvRbYU7+E/FUlZaydX/Q=",
"lastModified": 1772153824,
"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",
"repo": "copyparty",
"rev": "f5e70c7f6729e4f905863dbf057649eeac9425ec",
"rev": "ab8bd0178b26a0b6c6406f7bae835d13b16ef188",
"type": "github"
},
"original": {
@@ -133,6 +151,20 @@
"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": {
"locked": {
"lastModified": 1771017549,
@@ -169,6 +201,24 @@
}
},
"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": {
"nixpkgs-lib": [
"stylix",
@@ -290,7 +340,58 @@
"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": {
"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": {
"lastModified": 1748162331,
"narHash": "sha256-rqc2RKYTxP3tbjA+PB3VMRQNnjesrT0pEofXQTrMsS8=",
@@ -305,7 +406,23 @@
"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": {
"lastModified": 1771207753,
"narHash": "sha256-b9uG8yN50DRQ6A7JdZBfzq718ryYrlmGgqkRm9OOwCE=",
@@ -348,6 +465,7 @@
},
"root": {
"inputs": {
"catppuccin": "catppuccin",
"copyparty": "copyparty",
"den": "den",
"flake-aspects": "flake-aspects",
@@ -356,7 +474,8 @@
"home-manager": "home-manager",
"import-tree": "import-tree",
"nix-flatpak": "nix-flatpak",
"nixpkgs": "nixpkgs_2",
"nixcord": "nixcord",
"nixpkgs": "nixpkgs_4",
"nixpkgs-lib": [
"nixpkgs"
],
@@ -371,7 +490,7 @@
"base16-helix": "base16-helix",
"base16-vim": "base16-vim",
"firefox-gnome-theme": "firefox-gnome-theme",
"flake-parts": "flake-parts_2",
"flake-parts": "flake-parts_3",
"gnome-shell": "gnome-shell",
"nixpkgs": [
"nixpkgs"

View File

@@ -26,5 +26,9 @@
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest";
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,7 +7,7 @@
syncthing
fish
cloudflared
#cloudflared
searxng
copyparty
glances
@@ -20,6 +20,15 @@
dns
openssh
gitea
catppuccin
(tunnel 3001 "tvtun")
(tunnel 8888 "search")
(tunnel 3210 "files")
(tunnel 3030 "tube")
(tunnel 8975 "reddit")
(tunnel 3002 "git")
(tunnel 61208 "monitor")
];
nixos = {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -2,7 +2,7 @@
den.aspects.mailserver = {
nixos = {
imports = [
(builtins.fetchTarball {
(fetchTarball {
url = "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/archive/master.tar.gz";
sha256 = "0rm5f749xakmkqrpkl5ay1pydbnlinr50pvwg1vm795js2infmj5";
})
@@ -39,8 +39,13 @@
"discord@bug.tools"
"github@bug.tools"
"matrix@bug.tools"
"fluxer@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:
# Debug mode, only for development. Is overwritten by ${SEARXNG_DEBUG}
debug: false
# displayed name
instance_name: "search.bug.tools"
# For example: https://example.com/privacy
privacypolicy_url: false
@@ -9,7 +7,7 @@ general:
# use false to disable the donation link
donation_url: false
# mailto:contact@example.com
contact_url: false
contact_url: contact@bug.tools
# record stats
enable_metrics: true
# expose stats in open metrics format at /metrics

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; [
obsidian
vesktop
# vesktop
nicotine-plus
fastfetch
gh

View File

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

View File

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