nixos-config/modules/local-dev.nix

115 lines
2.6 KiB
Nix
Raw Normal View History

2023-04-14 23:51:52 +03:00
# Local developpement
2024-01-23 22:52:57 +03:00
{ pkgs, config, lib, ... }: {
2023-04-14 23:51:52 +03:00
virtualisation = {
docker.enable = true;
#docker.rootless = {
# enable = true;
# setSocketVariable = true;
#};
#libvirtd.enable = true;
#lxd.enable = true;
2024-01-03 20:29:16 +03:00
#waydroid.enable = true;
2023-04-14 23:51:52 +03:00
};
2024-01-23 22:52:57 +03:00
systemd.services.yeswikidev = {
enable = true;
script = ''
${pkgs.systemd}/bin/systemctl start mysql
# etc
'';
serviceConfig = let
startstop = command:
(pkgs.writeShellApplication {
name = "yeswikidev";
runtimeInputs = with pkgs; [ systemd ];
text = ''
systemctl ${command} mysql.service
'';
});
#startstopFullShell = pkgs.writeShellApplication {
# name = "yeswikidev";
# runtimeInputs = with pkgs; [ systemd ];
# text = ''
# systemctl "$1" mysql.service
# '';
#});
#commands = [ "start" "stop" ];
#scripts = map (command: (pkgs.writeShellApplication {
# name = "yeswikidev";
# runtimeInputs = with pkgs; [ systemd ];
# text = ''
# systemctl ${command} mysql.service
# '';
#})) commands;
#execs = {
# ExecStart = "start";
# ExecStop = "stop";
#};
# https://nixos.org/manual/nix/stable/language/builtins
# https://nixos.org/manual/nix/stable/language/builtins#builtins-mapAttrs
#execAttrs = attrNames execs; # ["Start" "Stop"];
#execs2 = mapAttrs (k: v: ()) execs;
in {
# pkgs.writeScript, pkgs.writeScriptBin
#ExecStart = startstop "start";
#ExecStop = startstop "stop";
# OR
# ExecStart = "${startstopFullShell} start";
# ExecStop = "${startstopFullShell} stop";
# OR
# ExecStart = "${scripts[0]}";
# ExecStop = "${scripts[1]}";
};
};
services.mysql = {
2024-02-05 20:49:09 +03:00
enable = true;
2024-01-23 22:52:57 +03:00
package = pkgs.mariadb;
};
2023-04-14 23:51:52 +03:00
# List packages installed in system profile. To search, run:
# $ nix search wget
2024-07-28 13:40:28 +03:00
environment.systemPackages = with pkgs;
let
php83 = pkgs.php83.buildEnv { extraConfig = "memory_limit = 2G"; };
in [
2024-05-21 15:57:21 +03:00
#clang
dart-sass
2024-07-03 10:46:47 +03:00
dbeaver-bin
docker-compose
2024-09-05 15:37:23 +03:00
eris-go
2023-11-03 11:09:19 +03:00
gcc
2024-02-03 07:39:56 +03:00
go
2024-07-03 10:46:47 +03:00
nixfmt-rfc-style
2024-08-19 17:41:19 +03:00
lua
lua-language-server
luarocks
nixpkgs-fmt
nodejs
2024-05-21 15:57:21 +03:00
nodePackages.eslint
nodePackages.prettier
php83
php83Packages.composer
php83Packages.php-cs-fixer
python3
2023-11-03 11:09:19 +03:00
python311Packages.virtualenv
rpi-imager
ruff-lsp
2024-05-21 15:57:21 +03:00
stylelint
symfony-cli
2024-07-03 10:46:47 +03:00
tree-sitter
2023-04-14 23:51:52 +03:00
virt-manager
yarn
2023-11-03 11:09:19 +03:00
zig
2024-05-16 09:41:41 +03:00
# image optimizers
image_optim
nodePackages.svgo
jpegoptim
optipng
pngquant
gifsicle
libwebp
2023-04-14 23:51:52 +03:00
];
}