feat: php with better config + refacto home

This commit is contained in:
Florian Schmitt 2025-05-23 20:09:13 +03:00
parent 79eeb73dd9
commit 29344e4bca
3 changed files with 147 additions and 362 deletions

View file

@ -1,16 +1,23 @@
{ pkgs, ... }:
{
{pkgs, ...}: {
programs.home-manager.enable = true;
home.username = "mrflos";
home.homeDirectory = "/home/mrflos";
home.packages = with pkgs; [
imports = [../../users/mrflos-home-manager.nix];
home.packages = with pkgs; let
php84 = pkgs.php84.buildEnv {
extraConfig = ''
memory_limit = 1G
max_input_vars = 100000
max_multipart_body_parts = 100000
'';
};
in [
ansible
atuin
bat
btop
# bruno
# bruno-cli
cargo
catnip
cmatrix
@ -18,6 +25,7 @@
curl
dnsutils
emacs-nox
eslint_d
fd
findutils
fzf
@ -37,15 +45,11 @@
mc
micro
mosh
mpc-cli
mpd
mpv
neofetch
nixd
neovim
ollama
pandoc
# pass
pciutils
pinentry-all
presenterm
@ -53,7 +57,9 @@
rustc
slides
starship
stylua
syncthing
thunderbird
tmux
tokei
tree
@ -71,7 +77,6 @@
# dev tools
dart-sass
# dbeaver-bin
docker-compose
eris-go
gcc
@ -87,14 +92,11 @@
nodePackages.prettier
php84
php84Packages.composer
# php84Packages.php-cs-fixer
python3
python311Packages.virtualenv
# rpi-imager
# ruff-lsp
stylelint
symfony-cli
# tcl-9_0
tcl-9_0
# tk-9_0
tree-sitter
virt-manager
@ -112,222 +114,9 @@
libwebp
# fonts
inter-nerdfont
nerd-fonts.iosevka
inter
#nerd-fonts.iosevka
nerd-fonts.iosevka-term
];
fonts.fontconfig.enable = true;
imports = [ ../../modules/home-manager/dotfiles.nix ];
home.sessionVariables = {
EDITOR = "nvim";
};
home.sessionPath = [
"$HOME/Code/nixos-config/scripts"
"$HOME/.local/bin"
"$HOME/go/bin"
];
accounts.email.accounts = {
"mrflos@chmok.net" = {
realName = "Florian Schmitt";
userName = "mrflos@chmok.net";
address = "mrflos@chmok.net";
primary = true;
thunderbird = {
enable = true;
profiles = [ "mrflos" ];
};
imap = {
host = "mail.infomaniak.com";
port = 993;
};
smtp = {
host = "mail.infomaniak.com";
port = 465;
};
};
"mrflos@yeswiki.pro" = {
realName = "Florian Schmitt - Yeswiki.pro";
userName = "mrflos@yeswiki.pro";
address = "mrflos@yeswiki.pro";
thunderbird = {
enable = true;
profiles = [ "mrflos" ];
};
imap = {
host = "mail.infomaniak.com";
port = 993;
};
smtp = {
host = "mail.infomaniak.com";
port = 465;
};
};
"mrflos@mrflos.pw" = {
realName = "Florian Schmitt";
userName = "mrflos";
address = "mrflos@mrflos.pw";
primary = false;
thunderbird = {
enable = true;
profiles = [ "mrflos" ];
};
imap = {
host = "mrflos.pw";
port = 993;
#tls.enable = true;
#tls.useStartTls = true;
};
smtp = {
host = "mrflos.pw";
port = 587;
#tls.useStartTls = true;
};
};
"contact@yeswiki.pro" = {
realName = "YesWiki.pro";
userName = "contact@yeswiki.pro";
address = "contact@yeswiki.pro";
primary = false;
thunderbird = {
enable = true;
profiles = [ "mrflos" ];
};
imap = {
host = "mail.infomaniak.com";
port = 993;
};
smtp = {
host = "mail.infomaniak.com";
port = 465;
};
};
"contact@yeswiki.net" = {
realName = "YesWiki.net";
userName = "contact@yeswiki.net";
address = "contact@yeswiki.net";
primary = false;
thunderbird = {
enable = true;
profiles = [ "mrflos" ];
};
imap = {
host = "mail.infomaniak.com";
port = 993;
};
smtp = {
host = "mail.infomaniak.com";
port = 465;
};
};
};
programs = {
direnv = {
enable = true;
enableZshIntegration = true;
nix-direnv.enable = true;
};
git = {
enable = true;
userName = "Florian Schmitt";
userEmail = "mrflos@gmail.com";
aliases = {
fa = "fetch --all --tags --prune --recurse-submodules --force";
};
extraConfig = {
pull.rebase = true;
init.defaultBranch = "main";
core.editor = "nvim";
core.fileMode = false;
};
};
neovim = {
defaultEditor = true;
viAlias = true;
vimAlias = true;
};
starship = {
enable = true;
settings = with builtins; fromTOML (readFile ../../dotfiles/starship/starship.toml);
};
thunderbird = {
enable = true;
profiles = {
mrflos = {
isDefault = true;
# name = "Florian Schmitt";
};
};
};
zsh = {
enable = true;
autosuggestion.enable = true;
enableCompletion = true;
shellAliases = {
#tmux = "tmux -f ~/.config/tmux/tmux.conf attach || tmux -f ~/.config/tmux/tmux.conf new";
bunx = "bun --bun x";
c = "/home/mrflos/Code/nixos-config/scripts/tmux-sessionizer";
g = "lazygit";
n = "/home/mrflos/Code/nixos-config/scripts/open-notes";
s = "/home/mrflos/Code/nixos-config/scripts/ssh-connect";
t = "/home/mrflos/Code/nixos-config/scripts/tmux-sessionizer";
kdenix = "nix run github:pjones/plasma-manager --extra-experimental-features nix-command --extra-experimental-features flakes > /home/mrflos/Developpements/nixos-config/modules/home-plasma.nix";
icat = "kitty +kitten icat";
nixedit = "cd $HOME/Code/nixos-config/ && $HOME/.nix-profile/bin/nvim .";
nixupdate = "nix-channel --update && home-manager switch -b backup";
nixclean = "sudo nix-env --delete-generations old --profile /nix/var/nix/profiles/system && sudo /nix/var/nix/profiles/system/bin/switch-to-configuration switch && sudo nix-store --gc";
socks = "ssh -N -f -C -D 9090 mrflos@yunohost.yeswiki.net -p 6742";
vi = "$HOME/.nix-profile/bin/nvim";
vim = "$HOME/.nix-profile/bin/nvim";
yeswiki-updater = "cd /home/mrflos/Code/yeswiki-installer/ && sudo php yeswiki-updater.php";
};
initContent = ''
export BUN_INSTALL="$HOME/.bun"
export PHP_CS_FIXER_IGNORE_ENV=1
export PATH="$HOME/.local/bin:$BUN_INSTALL/bin:$PATH"
eval "$(atuin init zsh)"
eval "$(zoxide init zsh)"
'';
oh-my-zsh = {
enable = true;
extraConfig = ''
zstyle :omz:plugins:ssh-agent helper ksshaskpass
zstyle :omz:plugins:ssh-agent agent-forwarding yes
zstyle :omz:plugins:ssh-agent lazy yes
'';
plugins = [
"git"
"ssh-agent"
];
# theme = "robbyrussell";
};
};
};
services.ssh-agent = {
enable = true;
};
programs.ssh = {
addKeysToAgent = "yes";
};
home.stateVersion = "24.11";
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
}

View file

@ -0,0 +1,124 @@
{pkgs, ...}: {
home.stateVersion = "23.05";
imports = [
../modules/home-manager/emails.nix
../modules/home-manager/dotfiles.nix
../modules/home-manager/tmux.nix
];
home.sessionVariables = {
EDITOR = "nvim";
};
home.sessionPath = [
"$HOME/Code/nixos-config/scripts"
"$HOME/.local/bin"
"$HOME/go/bin"
];
programs = {
direnv = {
enable = true;
enableZshIntegration = true;
nix-direnv.enable = true;
};
git = {
enable = true;
userName = "Florian Schmitt";
userEmail = "mrflos@gmail.com";
aliases = {
fa = "fetch --all --tags --prune --recurse-submodules --force";
};
extraConfig = {
pull.rebase = true;
init.defaultBranch = "main";
core.editor = "nvim";
core.fileMode = false;
};
};
mpv = {
enable = true;
package = (
pkgs.mpv-unwrapped.wrapper {
scripts = with pkgs.mpvScripts; [
mpris
sponsorblock
thumbfast
#uosc
#modernx
mpv-osc-tethys
visualizer
];
mpv = pkgs.mpv-unwrapped.override {
waylandSupport = true;
};
}
);
config = {
profile = "high-quality";
ytdl-format = "bestvideo+bestaudio";
};
};
neovim = {
defaultEditor = true;
viAlias = true;
vimAlias = true;
};
starship = {
enable = true;
settings = with builtins; fromTOML (readFile ../dotfiles/starship/starship.toml);
};
thunderbird = {
enable = true;
profiles."mrflos" = {
isDefault = true;
};
};
zsh = {
enable = true;
autosuggestion.enable = true;
enableCompletion = true;
shellAliases = {
#tmux = "tmux -f ~/.config/tmux/tmux.conf attach || tmux -f ~/.config/tmux/tmux.conf new";
bunx = "bun --bun x";
c = "$HOME/Code/nixos-config/scripts/tmux-sessionizer";
g = "lazygit";
n = "$HOME/Code/nixos-config/scripts/open-notes";
s = "$HOME/Code/nixos-config/scripts/ssh-connect";
t = "$HOME/Code/nixos-config/scripts/tmux-sessionizer";
kdenix = "nix run github:pjones/plasma-manager --extra-experimental-features nix-command --extra-experimental-features flakes > $HOME/Developpements/nixos-config/modules/home-plasma.nix";
icat = "kitty +kitten icat";
nixedit = "nvim $HOME/Code/nixos-config/";
nixupdate = "nix-channel --update && home-manager switch -b backup";
nixclean = "nix-store --gc";
socks = "ssh -N -f -C -D 9090 mrflos@yunohost.yeswiki.net -p 6742";
vi = "$HOME/.nix-profile/bin/nvim";
vim = "$HOME/.nix-profile/bin/nvim";
yeswiki-updater = "cd $HOME/Code/yeswiki-installer/ && sudo php yeswiki-updater.php";
};
initContent = ''
export BUN_INSTALL="$HOME/.bun"
export PHP_CS_FIXER_IGNORE_ENV=1
export PATH="$HOME/.local/bin:$BUN_INSTALL/bin:$PATH"
eval "$(atuin init zsh)"
eval "$(zoxide init zsh)"
'';
oh-my-zsh = {
enable = true;
extraConfig = ''
zstyle :omz:plugins:ssh-agent helper ksshaskpass
zstyle :omz:plugins:ssh-agent agent-forwarding yes
zstyle :omz:plugins:ssh-agent lazy yes
'';
plugins = [
"git"
"ssh-agent"
];
};
};
};
services.ssh-agent.enable = true;
}

View file

@ -1,10 +1,5 @@
{
pkgs,
...
}:
let
in
{
{pkgs, ...}: let
in {
imports = [
<home-manager/nixos>
];
@ -26,132 +21,9 @@ in
shell = pkgs.zsh;
};
nix.settings.trusted-users = [ "mrflos" ];
nix.settings.trusted-users = ["mrflos"];
home-manager.backupFileExtension = "backup";
home-manager.users.mrflos = {
home.stateVersion = "23.05";
imports = [
../modules/home-manager/emails.nix
../modules/home-manager/dotfiles.nix
../modules/home-manager/tmux.nix
];
home.sessionVariables = {
EDITOR = "nvim";
#LD_LIBRARY_PATH = "${pkgs.stdenv.cc.cc.lib}/lib";
};
home.sessionPath = [
"$HOME/Code/nixos-config/scripts"
"$HOME/.local/bin"
"$HOME/go/bin"
];
programs = {
direnv = {
enable = true;
enableZshIntegration = true;
nix-direnv.enable = true;
};
git = {
enable = true;
userName = "Florian Schmitt";
userEmail = "mrflos@gmail.com";
aliases = {
fa = "fetch --all --tags --prune --recurse-submodules --force";
};
extraConfig = {
pull.rebase = true;
init.defaultBranch = "main";
core.editor = "nvim";
core.fileMode = false;
};
};
mpv = {
enable = true;
package = (
pkgs.mpv-unwrapped.wrapper {
scripts = with pkgs.mpvScripts; [
mpris
sponsorblock
thumbfast
#uosc
#modernx
mpv-osc-tethys
visualizer
];
mpv = pkgs.mpv-unwrapped.override {
waylandSupport = true;
};
}
);
config = {
profile = "high-quality";
ytdl-format = "bestvideo+bestaudio";
};
};
neovim = {
defaultEditor = true;
viAlias = true;
vimAlias = true;
};
starship = {
enable = true;
settings = with builtins; fromTOML (readFile ../dotfiles/starship/starship.toml);
};
thunderbird = {
enable = true;
profiles."mrflos" = {
isDefault = true;
};
};
zsh = {
enable = true;
autosuggestion.enable = true;
enableCompletion = true;
shellAliases = {
#tmux = "tmux -f ~/.config/tmux/tmux.conf attach || tmux -f ~/.config/tmux/tmux.conf new";
bunx = "bun --bun x";
c = "/home/mrflos/Code/nixos-config/scripts/tmux-sessionizer";
g = "lazygit";
n = "/home/mrflos/Code/nixos-config/scripts/open-notes";
s = "/home/mrflos/Code/nixos-config/scripts/ssh-connect";
t = "/home/mrflos/Code/nixos-config/scripts/tmux-sessionizer";
kdenix = "nix run github:pjones/plasma-manager --extra-experimental-features nix-command --extra-experimental-features flakes > /home/mrflos/Developpements/nixos-config/modules/home-plasma.nix";
icat = "kitty +kitten icat";
nixedit = "vi /etc/nixos";
nixupdate = "sudo nix-channel --update && sudo nixos-rebuild switch";
nixclean = "sudo nix-env --delete-generations old --profile /nix/var/nix/profiles/system && sudo /nix/var/nix/profiles/system/bin/switch-to-configuration switch && sudo nix-store --gc";
socks = "ssh -N -f -C -D 9090 mrflos@yunohost.yeswiki.net -p 6742";
vi = "/run/current-system/sw/bin/nvim";
vim = "/run/current-system/sw/bin/nvim";
yeswiki-updater = "cd /home/mrflos/Code/yeswiki-installer/ && sudo php yeswiki-updater.php";
};
initExtra = ''
export BUN_INSTALL="$HOME/.bun"
export PHP_CS_FIXER_IGNORE_ENV=1
export PATH="$HOME/.local/bin:$BUN_INSTALL/bin:$PATH"
eval "$(atuin init zsh)"
eval "$(zoxide init zsh)"
'';
oh-my-zsh = {
enable = true;
extraConfig = ''
zstyle :omz:plugins:ssh-agent helper ksshaskpass
zstyle :omz:plugins:ssh-agent agent-forwarding yes
zstyle :omz:plugins:ssh-agent lazy yes
'';
plugins = [
"git"
"ssh-agent"
];
# theme = "robbyrussell";
};
};
};
services.ssh-agent.enable = true;
imports = [./mrflos-home-manager.nix];
};
}