Compare commits
10 commits
af9f004777
...
3fc08e78e0
Author | SHA1 | Date | |
---|---|---|---|
alejandro-angulo | 3fc08e78e0 | ||
alejandro-angulo | 8790d60312 | ||
alejandro-angulo | 4af7a4f0ee | ||
alejandro-angulo | c382929d9a | ||
alejandro-angulo | e1c6396153 | ||
alejandro-angulo | 323f5e5b1f | ||
alejandro-angulo | 52016deafe | ||
alejandro-angulo | 5c3d7e21ad | ||
alejandro-angulo | 9470dbdc48 | ||
alejandro-angulo | f654c49635 |
42
flake.lock
42
flake.lock
|
@ -27,11 +27,11 @@
|
||||||
},
|
},
|
||||||
"catppuccin": {
|
"catppuccin": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1726952185,
|
"lastModified": 1730036420,
|
||||||
"narHash": "sha256-l/HbsQjJMT6tlf8KCooFYi3J6wjIips3n6/aWAoLY4g=",
|
"narHash": "sha256-rv2bz7J6Wo7AenPiu4+ptCB1AFyaMcS77y89zbRAtI8=",
|
||||||
"owner": "catppuccin",
|
"owner": "catppuccin",
|
||||||
"repo": "nix",
|
"repo": "nix",
|
||||||
"rev": "630b559cc1cb4c0bdd525af506935323e4ccd5d1",
|
"rev": "0b7bf04628414a402d255924f65e9a0d1a53d92b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -288,11 +288,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1727383923,
|
"lastModified": 1730016908,
|
||||||
"narHash": "sha256-4/vacp3CwdGoPf8U4e/N8OsGYtO09WTcQK5FqYfJbKs=",
|
"narHash": "sha256-bFCxJco7d8IgmjfNExNz9knP8wvwbXU4s/d53KOK6U0=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "ffe2d07e771580a005e675108212597e5b367d2d",
|
"rev": "e83414058edd339148dc142a8437edb9450574c8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -348,11 +348,11 @@
|
||||||
},
|
},
|
||||||
"nixlib": {
|
"nixlib": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1726966855,
|
"lastModified": 1729386149,
|
||||||
"narHash": "sha256-25ByioeOBFcnitO5lM/Mufnv/u7YtHEHEM8QFuiS40k=",
|
"narHash": "sha256-hUP9oxmnOmNnKcDOf5Y55HQ+NnoT0+bLWHLQWLLw9Ks=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixpkgs.lib",
|
"repo": "nixpkgs.lib",
|
||||||
"rev": "575704ff85d3a41dc5bfef7b55380cbc7b87f3c2",
|
"rev": "cce4521b6df014e79a7b7afc58c703ed683c916e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -369,11 +369,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1727312535,
|
"lastModified": 1729472750,
|
||||||
"narHash": "sha256-exnTgS6OBYvEa8v5x8UsLQK2ERdDFwXNFQHoT2cqycY=",
|
"narHash": "sha256-s93LPHi5BN7I2xSGNAFWiYb8WRsPvT1LE9ZjZBrpFlg=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixos-generators",
|
"repo": "nixos-generators",
|
||||||
"rev": "f31447cd3f8e54674bd1675969e97e6043a309bc",
|
"rev": "7c60ba4bc8d6aa2ba3e5b0f6ceb9fc07bc261565",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -384,11 +384,11 @@
|
||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1727540359,
|
"lastModified": 1730068391,
|
||||||
"narHash": "sha256-U+225h1kJZpWb23+RaX1sBkqC4fA7aa7eBbgiQ5HcO4=",
|
"narHash": "sha256-jlAGtfMuI8pUUoUmNkm2P/38pOtHZdcAf3Az8XQLAf4=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "fb08bde00c20252b892a3e57fb094eb62b65ba61",
|
"rev": "6906ac67a1078cf950b8527341e229eeecb5bc30",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -400,11 +400,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1727348695,
|
"lastModified": 1729880355,
|
||||||
"narHash": "sha256-J+PeFKSDV+pHL7ukkfpVzCOO7mBSrrpJ3svwBFABbhI=",
|
"narHash": "sha256-RP+OQ6koQQLX5nw0NmcDrzvGL8HDLnyXt/jHhL1jwjM=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "1925c603f17fc89f4c8f6bf6f631a802ad85d784",
|
"rev": "18536bf04cd71abd345f9579158841376fdd0c5a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -516,11 +516,11 @@
|
||||||
"powerlevel10k": {
|
"powerlevel10k": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1726575020,
|
"lastModified": 1729844804,
|
||||||
"narHash": "sha256-cI7Nf+W02xfnarri7Dy+nXXpq5u+Ggh7HKk1++0Qq4Q=",
|
"narHash": "sha256-4g6L7ZL86QqrGnZ1F8dHbHlT9T80DR2FGsW1qQbk14k=",
|
||||||
"owner": "romkatv",
|
"owner": "romkatv",
|
||||||
"repo": "powerlevel10k",
|
"repo": "powerlevel10k",
|
||||||
"rev": "087405df7838f4c3e835025699bd7b98b9731acc",
|
"rev": "67a365b9dbf2c784ca8e655d681df10ef2d4a1a4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -9,14 +9,29 @@
|
||||||
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;
|
||||||
|
@ -40,19 +55,40 @@ 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
|
''
|
||||||
setw -g mouse on
|
# Scrolling with mouse wheel scrolls output instead of previous commands
|
||||||
|
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;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,7 +15,7 @@ in {
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
programs.eza = {
|
programs.eza = {
|
||||||
enable = true;
|
enable = true;
|
||||||
icons = true;
|
icons = "auto";
|
||||||
git = true;
|
git = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -7,11 +7,11 @@
|
||||||
}: let
|
}: let
|
||||||
inherit (lib) mkIf mkEnableOption mkOption types;
|
inherit (lib) mkIf mkEnableOption mkOption types;
|
||||||
|
|
||||||
cfg = config.${namespace}.services.gitea;
|
cfg = config.${namespace}.services.forgejo;
|
||||||
gitea_cfg = config.services.gitea;
|
forgejo_cfg = config.services.forgejo;
|
||||||
in {
|
in {
|
||||||
options.${namespace}.services.gitea = {
|
options.${namespace}.services.forgejo = {
|
||||||
enable = mkEnableOption "gitea";
|
enable = mkEnableOption "forgejo";
|
||||||
acmeCertName = mkOption {
|
acmeCertName = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
default = "";
|
default = "";
|
||||||
|
@ -23,19 +23,18 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
services.gitea = {
|
services.forgejo = {
|
||||||
enable = true;
|
enable = true;
|
||||||
appName = "Internal Gitea server";
|
|
||||||
database = {
|
database = {
|
||||||
type = "postgres";
|
type = "sqlite3";
|
||||||
};
|
};
|
||||||
|
|
||||||
useWizard = false;
|
useWizard = false;
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
server = {
|
server = {
|
||||||
DOMAIN = "gitea.kilonull.com";
|
DOMAIN = "git.kilonull.com";
|
||||||
ROOT_URL = "https://gitea.kilonull.com";
|
ROOT_URL = "https://git.kilonull.com";
|
||||||
HTTP_PORT = 3001;
|
HTTP_PORT = 3001;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -47,23 +46,27 @@ 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 '${gitea_cfg.customDir}/public' 0750 ${gitea_cfg.user} ${gitea_cfg.group} - -"
|
"d '${forgejo_cfg.customDir}/public' 0750 ${forgejo_cfg.user} ${forgejo_cfg.group} - -"
|
||||||
"z '${gitea_cfg.customDir}/public' 0750 ${gitea_cfg.user} ${gitea_cfg.group} - -"
|
"z '${forgejo_cfg.customDir}/public' 0750 ${forgejo_cfg.user} ${forgejo_cfg.group} - -"
|
||||||
"d '${gitea_cfg.customDir}/public/assets' 0750 ${gitea_cfg.user} ${gitea_cfg.group} - -"
|
"d '${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} - -"
|
"z '${forgejo_cfg.customDir}/public/assets' 0750 ${forgejo_cfg.user} ${forgejo_cfg.group} - -"
|
||||||
"L+ '${gitea_cfg.customDir}/public/assets/css' - - - - ${pkgs.aa.catppuccin-gitea}/share/gitea-themes"
|
"L+ '${forgejo_cfg.customDir}/public/assets/css' - - - - ${pkgs.aa.catppuccin-gitea}/share/gitea-themes"
|
||||||
];
|
];
|
||||||
|
|
||||||
services.nginx = {
|
services.nginx = {
|
||||||
enable = true;
|
enable = true;
|
||||||
virtualHosts."gitea.kilonull.com" =
|
virtualHosts."git.kilonull.com" =
|
||||||
{
|
{
|
||||||
locations."/" = {
|
locations."/" = {
|
||||||
proxyPass = "http://127.0.0.1:${toString gitea_cfg.settings.server.HTTP_PORT}";
|
proxyPass = "http://127.0.0.1:${toString forgejo_cfg.settings.server.HTTP_PORT}";
|
||||||
|
};
|
||||||
|
locations."= /" = {
|
||||||
|
return = "301 /explore/repos";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
// lib.optionalAttrs (cfg.acmeCertName != "") {
|
// lib.optionalAttrs (cfg.acmeCertName != "") {
|
|
@ -27,7 +27,7 @@ in {
|
||||||
|
|
||||||
services.nextcloud = {
|
services.nextcloud = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.nextcloud29;
|
package = pkgs.nextcloud30;
|
||||||
hostName = "nextcloud.kilonull.com";
|
hostName = "nextcloud.kilonull.com";
|
||||||
https = true;
|
https = true;
|
||||||
database.createLocally = true;
|
database.createLocally = true;
|
||||||
|
|
|
@ -5,13 +5,13 @@
|
||||||
}:
|
}:
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "teslamate-grafana-dashboards";
|
pname = "teslamate-grafana-dashboards";
|
||||||
version = "1.30.1";
|
version = "1.31.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "teslamate-org";
|
owner = "teslamate-org";
|
||||||
repo = "teslamate";
|
repo = "teslamate";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-Iky9zWb3m/ex/amZw2dP5ZOpFw3uyg0JG6e9PkV+t4A=";
|
hash = "sha256-aX6FjOKyjsA/0IgLw/AnB01ddNk0yS6vd01BH/reBP4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontBuild = true;
|
dontBuild = true;
|
||||||
|
|
|
@ -63,6 +63,19 @@
|
||||||
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;
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
};
|
};
|
||||||
acmeCertName = "kilonull.com";
|
acmeCertName = "kilonull.com";
|
||||||
};
|
};
|
||||||
services.gitea = {
|
services.forgejo = {
|
||||||
enable = true;
|
enable = true;
|
||||||
acmeCertName = "kilonull.com";
|
acmeCertName = "kilonull.com";
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue