diff --git a/home/modules/baseline.nix b/home/modules/baseline.nix index 0586871..3ba9750 100644 --- a/home/modules/baseline.nix +++ b/home/modules/baseline.nix @@ -36,7 +36,6 @@ in { packages = with pkgs; [ calc - curl dysk fd file diff --git a/home/modules/default.nix b/home/modules/default.nix index 62c5486..3335125 100644 --- a/home/modules/default.nix +++ b/home/modules/default.nix @@ -22,6 +22,5 @@ ./pass.nix ./halloy.nix ./ai.nix - ./programming.nix ]; } diff --git a/home/modules/defaultDesktopPack.nix b/home/modules/defaultDesktopPack.nix index eb3f07b..b973da3 100644 --- a/home/modules/defaultDesktopPack.nix +++ b/home/modules/defaultDesktopPack.nix @@ -65,7 +65,6 @@ in { zed.enable = true; terminal.enable = true; ai.enable = true; - programming.enable = true; }; }; }; diff --git a/home/modules/programming.nix b/home/modules/programming.nix deleted file mode 100644 index fc1c829..0000000 --- a/home/modules/programming.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ - pkgs, - lib, - config, - ... -}: -with lib; let - cfg = config.local.programs.programming; -in { - options.local.programs.programming = { - enable = mkEnableOption "programming"; - debugging = mkOption { - type = types.bool; - default = false; - }; - }; - config = mkIf cfg.enable { - home.packages = with pkgs; [ - binutils - cmake - gcc - gnumake - pkg-config - python314 - rustup - uv - ] ++ optionals cfg.debugging [ - gdb - valgrind - ]; - }; -} diff --git a/home/platforms/fabian@posixlycorrect/shenvs/.gitkeep b/home/platforms/fabian@posixlycorrect/shenvs/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/home/platforms/fabian@posixlycorrect/shenvs/c.nix b/home/platforms/fabian@posixlycorrect/shenvs/c.nix new file mode 100644 index 0000000..0ce5ad7 --- /dev/null +++ b/home/platforms/fabian@posixlycorrect/shenvs/c.nix @@ -0,0 +1,13 @@ +{pkgs, ...}: { + static = true; + + packages = with pkgs; [ + binutils + cmake + curl + gdb + gnumake + rustup + valgrind + ]; +} diff --git a/home/platforms/fabian@posixlycorrect/shenvs/python.nix b/home/platforms/fabian@posixlycorrect/shenvs/python.nix new file mode 100644 index 0000000..4818ea5 --- /dev/null +++ b/home/platforms/fabian@posixlycorrect/shenvs/python.nix @@ -0,0 +1,11 @@ +{pkgs, ...}: { + static = true; + + packages = with pkgs; [ + pipenv + (python310.withPackages (packages: + with packages; [ + setuptools + ])) + ]; +} diff --git a/home/platforms/fabian@t14/shenvs/.gitkeep b/home/platforms/fabian@t14/shenvs/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/home/platforms/fabian@t14/shenvs/c.nix b/home/platforms/fabian@t14/shenvs/c.nix new file mode 100644 index 0000000..0ce5ad7 --- /dev/null +++ b/home/platforms/fabian@t14/shenvs/c.nix @@ -0,0 +1,13 @@ +{pkgs, ...}: { + static = true; + + packages = with pkgs; [ + binutils + cmake + curl + gdb + gnumake + rustup + valgrind + ]; +} diff --git a/home/platforms/fabian@t14/shenvs/python.nix b/home/platforms/fabian@t14/shenvs/python.nix new file mode 100644 index 0000000..4818ea5 --- /dev/null +++ b/home/platforms/fabian@t14/shenvs/python.nix @@ -0,0 +1,11 @@ +{pkgs, ...}: { + static = true; + + packages = with pkgs; [ + pipenv + (python310.withPackages (packages: + with packages; [ + setuptools + ])) + ]; +} diff --git a/sys/modules/default.nix b/sys/modules/default.nix index 3b7cacd..80d9159 100644 --- a/sys/modules/default.nix +++ b/sys/modules/default.nix @@ -19,6 +19,5 @@ ./borgsync.nix ./dufs.nix ./defaultDesktopPack.nix - ./task-force-beta-bot.nix ]; } diff --git a/sys/modules/task-force-beta-bot.nix b/sys/modules/task-force-beta-bot.nix deleted file mode 100644 index 9701598..0000000 --- a/sys/modules/task-force-beta-bot.nix +++ /dev/null @@ -1,106 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: -with lib; let - cfg = config.local.sys.task-force-beta-bot; - - allowedChatsFile = pkgs.writeText "task-force-beta-bot-allowed-chats" ( - lib.concatMapStringsSep "\n" toString cfg.allowedChats - ); - - package = pkgs.rustPlatform.buildRustPackage { - pname = "task-force-beta-bot"; - version = "0.1.0"; - - src = pkgs.fetchgit { - url = "https://git.posixlycorrect.com/fabian/task-force-beta-bot"; - rev = "FIXME"; - hash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="; - }; - - cargoHash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="; - - meta = { - description = "General-purpose modular Telegram bot"; - mainProgram = "task_force_beta_bot"; - }; - }; -in { - options.local.sys.task-force-beta-bot = { - enable = lib.mkEnableOption "the Task Force Beta Telegram bot"; - - tokenFile = lib.mkOption { - type = lib.types.path; - description = "Path to the Telegram bot token file."; - }; - - allowedChats = lib.mkOption { - type = lib.types.listOf lib.types.int; - description = "List of Telegram chat IDs allowed to use the bot."; - }; - - user = lib.mkOption { - type = lib.types.str; - default = "task-force-beta-bot"; - description = "User to run the bot as."; - }; - - group = lib.mkOption { - type = lib.types.str; - default = "task-force-beta-bot"; - description = "Group for the bot service."; - }; - }; - - config = lib.mkIf cfg.enable { - systemd.services.task-force-beta-bot = { - after = ["network.target"]; - wantedBy = ["multi-user.target"]; - - serviceConfig = { - ExecStart = "${lib.getExe package} ${cfg.tokenFile} ${allowedChatsFile}"; - User = cfg.user; - Group = cfg.group; - Restart = "on-failure"; - RestartSec = "5s"; - - # Hardening - CapabilityBoundingSet = ""; - LockPersonality = true; - MemoryDenyWriteExecute = true; - NoNewPrivileges = true; - PrivateDevices = true; - PrivateTmp = true; - PrivateUsers = true; - ProtectClock = true; - ProtectControlGroups = true; - ProtectHome = true; - ProtectHostname = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - ProtectSystem = "strict"; - RestrictAddressFamilies = ["AF_INET" "AF_INET6"]; - RestrictNamespaces = true; - RestrictRealtime = true; - RestrictSUIDSGID = true; - SystemCallArchitectures = "native"; - SystemCallFilter = ["@system-service" "~@privileged"]; - - # Token and allowed chats file access - BindReadOnlyPaths = [builtins.storeDir cfg.tokenFile "${allowedChatsFile}"]; - }; - }; - - users = { - users.task-force-beta-bot = lib.mkIf (cfg.user == "task-force-beta-bot") { - group = cfg.group; - isSystemUser = true; - }; - groups.task-force-beta-bot = lib.mkIf (cfg.group == "task-force-beta-bot") {}; - }; - }; -} diff --git a/sys/platforms/vps/srv/default.nix b/sys/platforms/vps/srv/default.nix index 94c9fc7..0d52a07 100644 --- a/sys/platforms/vps/srv/default.nix +++ b/sys/platforms/vps/srv/default.nix @@ -19,6 +19,5 @@ with lib; { ./isso.nix ./miniflux.nix ./radicale.nix - ./task-force-beta-bot.nix ]; } diff --git a/sys/platforms/vps/srv/task-force-beta-bot.nix b/sys/platforms/vps/srv/task-force-beta-bot.nix deleted file mode 100644 index e58d781..0000000 --- a/sys/platforms/vps/srv/task-force-beta-bot.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ - lib, - pkgs, - config, - ... -}: -with lib; { - local.sys.task-force-beta-bot = { - enable = true; - tokenFile = "/var/trust/task_force_beta_bot/telegram_token"; - allowedChats = [ 2186489671 ]; - }; -}