nixos-config/modules/local-dev.nix
2024-08-09 12:34:10 +03:00

128 lines
3.1 KiB
Nix

# Local developpement
{ pkgs, config, lib, ... }: {
# virtualisation = {
# docker.enable = true;
# #docker.rootless = {
# # enable = true;
# # setSocketVariable = true;
# #};
# #libvirtd.enable = true;
# #lxd.enable = true;
# #waydroid.enable = true;
# };
# 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 = {
# enable = true;
# package = pkgs.mariadb;
# };
homebrew.enable = true;
homebrew.brews = [
# `brew install`
#"imagemagick"
# `brew install`, always `brew services restart`, `brew link`, `brew unlink mysql` (if it is installed)
{
name = "mariadb";
restart_service = true;
link = true;
conflicts_with = [ "mysql" ];
}
];
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs;
let
php83 = pkgs.php83.buildEnv { extraConfig = ''
max_upload_size = 2G
memory_limit = 1G
''; };
in [
cmake
dart-sass
docker-compose
fd
fzf
gcc
go
lua-language-server
nixfmt-classic
nixpkgs-fmt
nodejs
nodePackages.eslint
nodePackages.prettier
php83
php83Packages.composer
php83Packages.php-cs-fixer
python3
python311Packages.virtualenv
ripgrep
rust-analyzer-unwrapped
ruff-lsp
stylelint
symfony-cli
virt-manager
yarn
zig
# image optimizers
image_optim
nodePackages.svgo
jpegoptim
optipng
pngquant
gifsicle
libwebp
];
}