Compare commits

..

No commits in common. "3fc08e78e043a9c576b2a9d7f70a56664b3b15f7" and "af9f00477706aef484be198a13b03ef16fbdff04" have entirely different histories.

8 changed files with 50 additions and 102 deletions

View file

@ -27,11 +27,11 @@
}, },
"catppuccin": { "catppuccin": {
"locked": { "locked": {
"lastModified": 1730036420, "lastModified": 1726952185,
"narHash": "sha256-rv2bz7J6Wo7AenPiu4+ptCB1AFyaMcS77y89zbRAtI8=", "narHash": "sha256-l/HbsQjJMT6tlf8KCooFYi3J6wjIips3n6/aWAoLY4g=",
"owner": "catppuccin", "owner": "catppuccin",
"repo": "nix", "repo": "nix",
"rev": "0b7bf04628414a402d255924f65e9a0d1a53d92b", "rev": "630b559cc1cb4c0bdd525af506935323e4ccd5d1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -288,11 +288,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1730016908, "lastModified": 1727383923,
"narHash": "sha256-bFCxJco7d8IgmjfNExNz9knP8wvwbXU4s/d53KOK6U0=", "narHash": "sha256-4/vacp3CwdGoPf8U4e/N8OsGYtO09WTcQK5FqYfJbKs=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "e83414058edd339148dc142a8437edb9450574c8", "rev": "ffe2d07e771580a005e675108212597e5b367d2d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -348,11 +348,11 @@
}, },
"nixlib": { "nixlib": {
"locked": { "locked": {
"lastModified": 1729386149, "lastModified": 1726966855,
"narHash": "sha256-hUP9oxmnOmNnKcDOf5Y55HQ+NnoT0+bLWHLQWLLw9Ks=", "narHash": "sha256-25ByioeOBFcnitO5lM/Mufnv/u7YtHEHEM8QFuiS40k=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs.lib", "repo": "nixpkgs.lib",
"rev": "cce4521b6df014e79a7b7afc58c703ed683c916e", "rev": "575704ff85d3a41dc5bfef7b55380cbc7b87f3c2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -369,11 +369,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1729472750, "lastModified": 1727312535,
"narHash": "sha256-s93LPHi5BN7I2xSGNAFWiYb8WRsPvT1LE9ZjZBrpFlg=", "narHash": "sha256-exnTgS6OBYvEa8v5x8UsLQK2ERdDFwXNFQHoT2cqycY=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixos-generators", "repo": "nixos-generators",
"rev": "7c60ba4bc8d6aa2ba3e5b0f6ceb9fc07bc261565", "rev": "f31447cd3f8e54674bd1675969e97e6043a309bc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -384,11 +384,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1730068391, "lastModified": 1727540359,
"narHash": "sha256-jlAGtfMuI8pUUoUmNkm2P/38pOtHZdcAf3Az8XQLAf4=", "narHash": "sha256-U+225h1kJZpWb23+RaX1sBkqC4fA7aa7eBbgiQ5HcO4=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "6906ac67a1078cf950b8527341e229eeecb5bc30", "rev": "fb08bde00c20252b892a3e57fb094eb62b65ba61",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -400,11 +400,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1729880355, "lastModified": 1727348695,
"narHash": "sha256-RP+OQ6koQQLX5nw0NmcDrzvGL8HDLnyXt/jHhL1jwjM=", "narHash": "sha256-J+PeFKSDV+pHL7ukkfpVzCOO7mBSrrpJ3svwBFABbhI=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "18536bf04cd71abd345f9579158841376fdd0c5a", "rev": "1925c603f17fc89f4c8f6bf6f631a802ad85d784",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -516,11 +516,11 @@
"powerlevel10k": { "powerlevel10k": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1729844804, "lastModified": 1726575020,
"narHash": "sha256-4g6L7ZL86QqrGnZ1F8dHbHlT9T80DR2FGsW1qQbk14k=", "narHash": "sha256-cI7Nf+W02xfnarri7Dy+nXXpq5u+Ggh7HKk1++0Qq4Q=",
"owner": "romkatv", "owner": "romkatv",
"repo": "powerlevel10k", "repo": "powerlevel10k",
"rev": "67a365b9dbf2c784ca8e655d681df10ef2d4a1a4", "rev": "087405df7838f4c3e835025699bd7b98b9731acc",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -9,29 +9,14 @@
inherit (pkgs) tmuxPlugins; inherit (pkgs) tmuxPlugins;
cfg = config.${namespace}.apps.tmux; cfg = config.${namespace}.apps.tmux;
tmsConfig = {
display_full_path = true;
session_sort_order = "LastAttached";
search_dirs = [
{
path = "${config.home.homeDirectory}/src";
depth = 2;
}
];
};
in { in {
options.${namespace}.apps.tmux = { options.${namespace}.apps.tmux = {
enable = mkEnableOption "tmux"; enable = mkEnableOption "tmux";
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
home.packages = [pkgs.tmux-sessionizer];
programs.tmux = { programs.tmux = {
enable = true; enable = true;
baseIndex = 1;
catppuccin.enable = true; catppuccin.enable = true;
keyMode = "vi"; keyMode = "vi";
newSession = true; newSession = true;
@ -55,40 +40,19 @@ in {
} }
tmuxPlugins.open tmuxPlugins.open
tmuxPlugins.pain-control
tmuxPlugins.tmux-fzf tmuxPlugins.tmux-fzf
tmuxPlugins.vim-tmux-navigator tmuxPlugins.vim-tmux-navigator
]; ];
extraConfig = extraConfig = ''
'' # Scrolling with mouse wheel scrolls output instead of previous commands
# Scrolling with mouse wheel scrolls output instead of previous commands setw -g mouse on
setw -g mouse on
# Open panes in the same directory # Open panes in the same directory
bind c new-window -c "#{pane_current_path}" bind c new-window -c "#{pane_current_path}"
bind '"' split-window -c "#{pane_current_path}" bind '"' split-window -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}" bind % split-window -h -c "#{pane_current_path}"
'';
# sessionizer
bind C-o display-popup -E "${pkgs.tmux-sessionizer}/bin/tms"
bind C-j display-popup -E "${pkgs.tmux-sessionizer}/bin/tms switch"
bind C-w display-popup -E "${pkgs.tmux-sessionizer}/bin/tms windows"
bind C-s command-prompt -p "Rename active session to:" "run-shell '${pkgs.tmux-sessionizer}/bin/tms rename %1'"
''
+ lib.strings.optionalString config.programs.lazygit.enable ''
# Open lazygit in a popup
# Spins up a new session with a '-lg' suffix (hitting the shortcut
# toggles between attaching and detaching)
bind C-g if-shell "[[ $(tmux display-message -p '#S') == *-lg ]]" {
detach-client
} {
display-popup -h 90% -w 90% -E "tmux new-session -A -s $(tmux display-message -p '#S')-lg ${pkgs.lazygit}/bin/lazygit"
}
'';
}; };
xdg.configFile."tms/config.toml".source = (pkgs.formats.toml {}).generate "tms-config" tmsConfig;
}; };
} }

View file

@ -15,7 +15,7 @@ in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.eza = { programs.eza = {
enable = true; enable = true;
icons = "auto"; icons = true;
git = true; git = true;
}; };
}; };

View file

@ -7,11 +7,11 @@
}: let }: let
inherit (lib) mkIf mkEnableOption mkOption types; inherit (lib) mkIf mkEnableOption mkOption types;
cfg = config.${namespace}.services.forgejo; cfg = config.${namespace}.services.gitea;
forgejo_cfg = config.services.forgejo; gitea_cfg = config.services.gitea;
in { in {
options.${namespace}.services.forgejo = { options.${namespace}.services.gitea = {
enable = mkEnableOption "forgejo"; enable = mkEnableOption "gitea";
acmeCertName = mkOption { acmeCertName = mkOption {
type = types.str; type = types.str;
default = ""; default = "";
@ -23,18 +23,19 @@ in {
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.forgejo = { services.gitea = {
enable = true; enable = true;
appName = "Internal Gitea server";
database = { database = {
type = "sqlite3"; type = "postgres";
}; };
useWizard = false; useWizard = false;
settings = { settings = {
server = { server = {
DOMAIN = "git.kilonull.com"; DOMAIN = "gitea.kilonull.com";
ROOT_URL = "https://git.kilonull.com"; ROOT_URL = "https://gitea.kilonull.com";
HTTP_PORT = 3001; HTTP_PORT = 3001;
}; };
@ -46,27 +47,23 @@ in {
ui.THEMES = '' ui.THEMES = ''
catppuccin-latte-rosewater,catppuccin-latte-flamingo,catppuccin-latte-pink,catppuccin-latte-mauve,catppuccin-latte-red,catppuccin-latte-maroon,catppuccin-latte-peach,catppuccin-latte-yellow,catppuccin-latte-green,catppuccin-latte-teal,catppuccin-latte-sky,catppuccin-latte-sapphire,catppuccin-latte-blue,catppuccin-latte-lavender,catppuccin-frappe-rosewater,catppuccin-frappe-flamingo,catppuccin-frappe-pink,catppuccin-frappe-mauve,catppuccin-frappe-red,catppuccin-frappe-maroon,catppuccin-frappe-peach,catppuccin-frappe-yellow,catppuccin-frappe-green,catppuccin-frappe-teal,catppuccin-frappe-sky,catppuccin-frappe-sapphire,catppuccin-frappe-blue,catppuccin-frappe-lavender,catppuccin-macchiato-rosewater,catppuccin-macchiato-flamingo,catppuccin-macchiato-pink,catppuccin-macchiato-mauve,catppuccin-macchiato-red,catppuccin-macchiato-maroon,catppuccin-macchiato-peach,catppuccin-macchiato-yellow,catppuccin-macchiato-green,catppuccin-macchiato-teal,catppuccin-macchiato-sky,catppuccin-macchiato-sapphire,catppuccin-macchiato-blue,catppuccin-macchiato-lavender,catppuccin-mocha-rosewater,catppuccin-mocha-flamingo,catppuccin-mocha-pink,catppuccin-mocha-mauve,catppuccin-mocha-red,catppuccin-mocha-maroon,catppuccin-mocha-peach,catppuccin-mocha-yellow,catppuccin-mocha-green,catppuccin-mocha-teal,catppuccin-mocha-sky,catppuccin-mocha-sapphire,catppuccin-mocha-blue,catppuccin-mocha-lavender catppuccin-latte-rosewater,catppuccin-latte-flamingo,catppuccin-latte-pink,catppuccin-latte-mauve,catppuccin-latte-red,catppuccin-latte-maroon,catppuccin-latte-peach,catppuccin-latte-yellow,catppuccin-latte-green,catppuccin-latte-teal,catppuccin-latte-sky,catppuccin-latte-sapphire,catppuccin-latte-blue,catppuccin-latte-lavender,catppuccin-frappe-rosewater,catppuccin-frappe-flamingo,catppuccin-frappe-pink,catppuccin-frappe-mauve,catppuccin-frappe-red,catppuccin-frappe-maroon,catppuccin-frappe-peach,catppuccin-frappe-yellow,catppuccin-frappe-green,catppuccin-frappe-teal,catppuccin-frappe-sky,catppuccin-frappe-sapphire,catppuccin-frappe-blue,catppuccin-frappe-lavender,catppuccin-macchiato-rosewater,catppuccin-macchiato-flamingo,catppuccin-macchiato-pink,catppuccin-macchiato-mauve,catppuccin-macchiato-red,catppuccin-macchiato-maroon,catppuccin-macchiato-peach,catppuccin-macchiato-yellow,catppuccin-macchiato-green,catppuccin-macchiato-teal,catppuccin-macchiato-sky,catppuccin-macchiato-sapphire,catppuccin-macchiato-blue,catppuccin-macchiato-lavender,catppuccin-mocha-rosewater,catppuccin-mocha-flamingo,catppuccin-mocha-pink,catppuccin-mocha-mauve,catppuccin-mocha-red,catppuccin-mocha-maroon,catppuccin-mocha-peach,catppuccin-mocha-yellow,catppuccin-mocha-green,catppuccin-mocha-teal,catppuccin-mocha-sky,catppuccin-mocha-sapphire,catppuccin-mocha-blue,catppuccin-mocha-lavender
''; '';
ui.DEFAULT_THEME = "catppuccin-mocha-green";
}; };
}; };
systemd.tmpfiles.rules = [ systemd.tmpfiles.rules = [
"d '${forgejo_cfg.customDir}/public' 0750 ${forgejo_cfg.user} ${forgejo_cfg.group} - -" "d '${gitea_cfg.customDir}/public' 0750 ${gitea_cfg.user} ${gitea_cfg.group} - -"
"z '${forgejo_cfg.customDir}/public' 0750 ${forgejo_cfg.user} ${forgejo_cfg.group} - -" "z '${gitea_cfg.customDir}/public' 0750 ${gitea_cfg.user} ${gitea_cfg.group} - -"
"d '${forgejo_cfg.customDir}/public/assets' 0750 ${forgejo_cfg.user} ${forgejo_cfg.group} - -" "d '${gitea_cfg.customDir}/public/assets' 0750 ${gitea_cfg.user} ${gitea_cfg.group} - -"
"z '${forgejo_cfg.customDir}/public/assets' 0750 ${forgejo_cfg.user} ${forgejo_cfg.group} - -" "z '${gitea_cfg.customDir}/public/assets' 0750 ${gitea_cfg.user} ${gitea_cfg.group} - -"
"L+ '${forgejo_cfg.customDir}/public/assets/css' - - - - ${pkgs.aa.catppuccin-gitea}/share/gitea-themes" "L+ '${gitea_cfg.customDir}/public/assets/css' - - - - ${pkgs.aa.catppuccin-gitea}/share/gitea-themes"
]; ];
services.nginx = { services.nginx = {
enable = true; enable = true;
virtualHosts."git.kilonull.com" = virtualHosts."gitea.kilonull.com" =
{ {
locations."/" = { locations."/" = {
proxyPass = "http://127.0.0.1:${toString forgejo_cfg.settings.server.HTTP_PORT}"; proxyPass = "http://127.0.0.1:${toString gitea_cfg.settings.server.HTTP_PORT}";
};
locations."= /" = {
return = "301 /explore/repos";
}; };
} }
// lib.optionalAttrs (cfg.acmeCertName != "") { // lib.optionalAttrs (cfg.acmeCertName != "") {

View file

@ -27,7 +27,7 @@ in {
services.nextcloud = { services.nextcloud = {
enable = true; enable = true;
package = pkgs.nextcloud30; package = pkgs.nextcloud29;
hostName = "nextcloud.kilonull.com"; hostName = "nextcloud.kilonull.com";
https = true; https = true;
database.createLocally = true; database.createLocally = true;

View file

@ -5,13 +5,13 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "teslamate-grafana-dashboards"; pname = "teslamate-grafana-dashboards";
version = "1.31.0"; version = "1.30.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "teslamate-org"; owner = "teslamate-org";
repo = "teslamate"; repo = "teslamate";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-aX6FjOKyjsA/0IgLw/AnB01ddNk0yS6vd01BH/reBP4="; hash = "sha256-Iky9zWb3m/ex/amZw2dP5ZOpFw3uyg0JG6e9PkV+t4A=";
}; };
dontBuild = true; dontBuild = true;

View file

@ -63,19 +63,6 @@
system.monitoring.enable = true; system.monitoring.enable = true;
}; };
services.udev.packages = [
(pkgs.writeTextFile {
name = "microbit-udev-rules";
text = ''
# CMSIS-DAP for microbit
ACTION!="add|change", GOTO="microbit_rules_end"
SUBSYSTEM=="usb", ATTR{idVendor}=="0d28", ATTR{idProduct}=="0204", TAG+="uaccess"
LABEL="microbit_rules_end"
'';
destination = "/etc/udev/rules.d/69-microbit.rules";
})
];
services.gitea-actions-runner.instances = { services.gitea-actions-runner.instances = {
gospel = { gospel = {
enable = true; enable = true;

View file

@ -50,7 +50,7 @@
}; };
acmeCertName = "kilonull.com"; acmeCertName = "kilonull.com";
}; };
services.forgejo = { services.gitea = {
enable = true; enable = true;
acmeCertName = "kilonull.com"; acmeCertName = "kilonull.com";
}; };