feat: Added stuff

This commit is contained in:
uttarayan21
2025-07-02 17:21:10 +05:30
parent 9c4d5a219d
commit c80288fadf
14 changed files with 93 additions and 40 deletions

15
flake.lock generated
View File

@@ -275,17 +275,14 @@
"rust-overlay": "rust-overlay_3" "rust-overlay": "rust-overlay_3"
}, },
"locked": { "locked": {
"lastModified": 1750536858, "lastModified": 1751306389,
"narHash": "sha256-bcftbYApVuB4bUqP6Z0frUh2b9+yiAkyy+EXijZcoc4=", "narHash": "sha256-7AL2SENMyjXTiedkNvvBfxh6JxNTm/UmDmp66ovwEIY=",
"owner": "uttarayan21", "path": "/home/servius/Projects/command-runner",
"repo": "command-runner", "type": "path"
"rev": "534df9bd86329544d3be74faf1e47996da912b2f",
"type": "github"
}, },
"original": { "original": {
"owner": "uttarayan21", "path": "/home/servius/Projects/command-runner",
"repo": "command-runner", "type": "path"
"type": "github"
} }
}, },
"crane": { "crane": {

View File

@@ -174,11 +174,12 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
command-runner = { command-runner = {
url = "github:uttarayan21/command-runner"; # url = "github:uttarayan21/command-runner";
url = "path:/home/servius/Projects/command-runner";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
# alvr = { # alvr = {
# url = "git+file:/home/servius/Projects/ALVR"; # url = "path:/home/servius/Projects/ALVR";
# inputs.nixpkgs.follows = "nixpkgs"; # inputs.nixpkgs.follows = "nixpkgs";
# }; # };
}; };

View File

@@ -14,7 +14,7 @@
./linux ./linux
./programs ./programs
./scripts.nix ./scripts.nix
# ./services ./services
]; ];
xdg.enable = true; xdg.enable = true;

View File

@@ -31,6 +31,7 @@
./zoxide.nix ./zoxide.nix
./mpris-scrobbler.nix ./mpris-scrobbler.nix
./omnix.nix ./omnix.nix
# ./magika.nix
# ./ncmpcpp.nix # ./ncmpcpp.nix
# ./neomutt.nix # ./neomutt.nix
# ./zellij.nix # ./zellij.nix

3
home/programs/magika.nix Normal file
View File

@@ -0,0 +1,3 @@
{pkgs, ...}: {
home.packages = [pkgs.magika];
}

View File

@@ -11,6 +11,10 @@
user = "servius"; user = "servius";
hostname = "rpi"; hostname = "rpi";
}; };
tsuba = {
user = "servius";
hostname = "tsuba";
};
github = { github = {
user = "git"; user = "git";
host = "github.com"; host = "github.com";

View File

@@ -0,0 +1,31 @@
{
config,
lib,
pkgs,
inputs,
...
}: {
imports = [
inputs.command-runner.homeManagerModules.command-runner
];
services.command-runner = {
enable = true;
port = 5599;
database.path = "${config.home.homeDirectory}/.local/share/command-runner.db";
commands = let
hyprctl = "${pkgs.hyprland}/bin/hyprctl";
in
{
"display_on" = [hyprctl "-i" "{instance}" "dispatch" "dpms" "on"];
"display_off" = [hyprctl "-i" "{instance}" "dispatch" "dpms" "off"];
"display_toggle" = [hyprctl "-i" "{instance}" "dispatch" "dpms" "toggle"];
"display_status" = [hyprctl "-i" "{instance}" "-j" "monitors"];
"hyprland_instance" = [hyprctl "-j" "instances"];
}
// (builtins.foldl' (acc: elem: acc // elem) {} (lib.map (name: {
"display_on_${name}" = [hyprctl "-i" "{instance}" "dispatch" "dpms" "on" name];
"display_off_${name}" = [hyprctl "-i" "{instance}" "dispatch" "dpms" "off" name];
"display_toggle_${name}" = [hyprctl "-i" "{instance}" "dispatch" "dpms" "toggle" name];
}) ["HDMI-A-1" "DP-3" "DP-1"]));
};
}

View File

@@ -1,5 +1,6 @@
{...}: { {...}: {
imports = [ imports = [
# ./syncthing.nix # ./syncthing.nix
./command-runner.nix
]; ];
} }

View File

@@ -23,7 +23,7 @@
./${device.name}/configuration.nix ./${device.name}/configuration.nix
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
inputs.arion.nixosModules.arion inputs.arion.nixosModules.arion
inputs.command-runner.nixosModules.command-runner # inputs.command-runner.nixosModules.command-runner
inputs.lanzaboote.nixosModules.lanzaboote inputs.lanzaboote.nixosModules.lanzaboote
inputs.musnix.nixosModules.musnix inputs.musnix.nixosModules.musnix
{ {
@@ -37,7 +37,9 @@
inherit device; inherit device;
stablePkgs = inputs.nixpkgs-stable.legacyPackages.${device.system}; stablePkgs = inputs.nixpkgs-stable.legacyPackages.${device.system};
}; };
users.${device.user}.imports = [../home]; users.${device.user}.imports = [
../home
];
}; };
} }
]; ];

View File

@@ -1,5 +1,12 @@
{...}: { {...}: {
services = { services = {
caddy.enable = true; caddy = {
enable = true;
# virtualHosts = {
# "home.darksailor.dev".extraConfig = ''
# reverse_proxy http://tsuba.lemur-newton.ts.net:8123
# '';
# };
};
}; };
} }

View File

@@ -9,6 +9,7 @@
./caddy.nix ./caddy.nix
./fail2ban.nix ./fail2ban.nix
./gitea.nix ./gitea.nix
# ./nextcloud.nix
# ./navidrome.nix # ./navidrome.nix
# ./home-assistant.nix # ./home-assistant.nix
@@ -16,7 +17,6 @@
# ./polaris.nix # ./polaris.nix
# ./syncthing.nix # ./syncthing.nix
# ./vscode.nix # ./vscode.nix
# ./nextcloud.nix
# ./ldap.nix # ./ldap.nix
# ./llama.nix # ./llama.nix
# ./nextcloud.nix # ./nextcloud.nix

View File

@@ -8,15 +8,20 @@
}; };
services = { services = {
nextcloud = { nextcloud = {
enable = false; enable = true;
package = pkgs.nextcloud30; package = pkgs.nextcloud30;
# extraApps = {
# inherit (config.services.nextcloud.package.packages.apps) news contacts calendar;
# };
# extraAppsEnable = true;
hostName = "cloud.darksailor.dev"; hostName = "cloud.darksailor.dev";
config.adminuser = "servius"; config.adminuser = "servius";
config.adminpassFile = config.sops.secrets."nextcloud/adminpass".path; config.adminpassFile = config.sops.secrets."nextcloud/adminpass".path;
config.dbtype = "sqlite"; config.dbtype = "sqlite";
configureRedis = true; configureRedis = true;
https = true; https = false;
datadir = "/media/nextcloud"; # datadir = "/media/nextcloud";
home = "/media/nextcloud";
}; };
caddy = { caddy = {
virtualHosts."cloud.darksailor.dev".extraConfig = '' virtualHosts."cloud.darksailor.dev".extraConfig = ''

View File

@@ -108,7 +108,7 @@
users.users.servius = { users.users.servius = {
isNormalUser = true; isNormalUser = true;
extraGroups = ["wheel" "audio" "i2c" "media" "openrazer"]; extraGroups = ["wheel" "audio" "i2c" "media" "openrazer" "video"];
openssh.authorizedKeys.keyFiles = [ openssh.authorizedKeys.keyFiles = [
../../secrets/id_ed25519.pub ../../secrets/id_ed25519.pub
../../secrets/id_ios.pub ../../secrets/id_ios.pub
@@ -284,6 +284,7 @@
# List packages installed in system profile. To search, run: # List packages installed in system profile. To search, run:
# $ nix search wget # $ nix search wget
systemPackages = with pkgs; [ systemPackages = with pkgs; [
v4l-utils
polychromatic polychromatic
openrazer-daemon openrazer-daemon
cudatoolkit cudatoolkit

View File

@@ -4,24 +4,24 @@
pkgs, pkgs,
... ...
}: { }: {
services.command-runner = { # services.command-runner = {
enable = true; # enable = false;
port = 5599; # port = 5599;
user = "servius"; # user = "servius";
commands = let # commands = let
hyprctl = "${pkgs.hyprland}/bin/hyprctl"; # hyprctl = "${pkgs.hyprland}/bin/hyprctl";
in # in
{ # {
"display_on" = [hyprctl "-i" "{instance}" "dispatch" "dpms" "on"]; # "display_on" = [hyprctl "-i" "{instance}" "dispatch" "dpms" "on"];
"display_off" = [hyprctl "-i" "{instance}" "dispatch" "dpms" "off"]; # "display_off" = [hyprctl "-i" "{instance}" "dispatch" "dpms" "off"];
"display_toggle" = [hyprctl "-i" "{instance}" "dispatch" "dpms" "toggle"]; # "display_toggle" = [hyprctl "-i" "{instance}" "dispatch" "dpms" "toggle"];
"display_status" = [hyprctl "-i" "{instance}" "-j" "monitors"]; # "display_status" = [hyprctl "-i" "{instance}" "-j" "monitors"];
"hyprland_instance" = [hyprctl "-j" "instances"]; # "hyprland_instance" = [hyprctl "-j" "instances"];
} # }
// (builtins.foldl' (acc: elem: acc // elem) {} (lib.map (name: { # // (builtins.foldl' (acc: elem: acc // elem) {} (lib.map (name: {
"display_on_${name}" = [hyprctl "-i" "{instance}" "dispatch" "dpms" "on" name]; # "display_on_${name}" = [hyprctl "-i" "{instance}" "dispatch" "dpms" "on" name];
"display_off_${name}" = [hyprctl "-i" "{instance}" "dispatch" "dpms" "off" name]; # "display_off_${name}" = [hyprctl "-i" "{instance}" "dispatch" "dpms" "off" name];
"display_toggle_${name}" = [hyprctl "-i" "{instance}" "dispatch" "dpms" "toggle" name]; # "display_toggle_${name}" = [hyprctl "-i" "{instance}" "dispatch" "dpms" "toggle" name];
}) ["HDMI-A-1" "DP-3" "DP-1"])); # }) ["HDMI-A-1" "DP-3" "DP-1"]));
}; # };
} }