nix: devenv!

This commit is contained in:
Roman Godmaire 2024-03-30 11:30:00 -04:00
parent bc268b7fee
commit 02f04e68e3
2 changed files with 37 additions and 40 deletions

View file

@ -88,7 +88,7 @@
;;ansible ;;ansible
;;biblio ; Writes a PhD for you (citation needed) ;;biblio ; Writes a PhD for you (citation needed)
debugger ; FIXME stepping through code, to help you add bugs debugger ; FIXME stepping through code, to help you add bugs
;;direnv direnv
docker docker
;;editorconfig ; let someone else argue about tabs vs spaces ;;editorconfig ; let someone else argue about tabs vs spaces
;;ein ; tame Jupyter notebooks with emacs ;;ein ; tame Jupyter notebooks with emacs

View file

@ -18,55 +18,19 @@
# The home.packages option allows you to install Nix packages into your # The home.packages option allows you to install Nix packages into your
# environment. # environment.
home.packages = with pkgs; [ home.packages = with pkgs; [
devenv
direnv
ripgrep ripgrep
fd fd
sd sd
bat bat
just just
tokei tokei
mprocs
mermaid-cli mermaid-cli
yazi yazi
jq jq
turso-cli
flyctl
# Elixir
elixir
elixir-ls
gleam
# Golang
go
gopls
delve
gore
gotests
gotools
# Haskell
ghc
haskell-language-server
stack
# Node
nodejs
nodePackages.pnpm
nodePackages.typescript
nodePackages.typescript-language-server
nodePackages.svelte-language-server
# Python
pdm
pipenv
pyright
ruff
# Rust
rustup
cargo-tarpaulin
# Shell # Shell
shellcheck shellcheck
shfmt shfmt
@ -151,6 +115,8 @@
loginShellInit = '' loginShellInit = ''
set -x XDG_DATA_DIRS $HOME/.nix-profile/share:$XDG_DATA_DIRS set -x XDG_DATA_DIRS $HOME/.nix-profile/share:$XDG_DATA_DIRS
set -x DIRENV_LOG_FORMAT
set -x SSH_AUTH_SOCK /run/user/1000/keyring/ssh
''; '';
interactiveShellInit = '' interactiveShellInit = ''
@ -203,4 +169,35 @@
# Services # Services
services.syncthing.enable = true; services.syncthing.enable = true;
# Borgmatic
services.borgmatic = {
enable = true;
frequency = "*-*-* 08:00:00";
};
programs.borgmatic = {
enable = true;
backups = {
diana = {
location = {
sourceDirectories = [ "/var/home/digyx" ];
repositories = [ "ssh://tztl5fp2@tztl5fp2.repo.borgbase.com/./repo" ];
};
retention = {
keepDaily = 7;
keepWeekly = 4;
keepMonthly = 12;
};
storage = {
encryptionPasscommand = "${pkgs.pass}/bin/pass borg-key";
extraConfig.ssh_command = "/usr/bin/ssh";
};
};
};
};
} }