Compare commits

..

30 commits

Author SHA1 Message Date
d9eeeb5b52 WIP: add notes for missing persistence/backup
All checks were successful
ci/woodpecker/push/check Pipeline was successful
TODO:
* Look at for more inspiration https://github.com/nix-community/impermanence/pull/108
* Do home-manager
* Common files https://github.com/nix-community/impermanence/issues/10
2023-10-26 13:49:02 +00:00
b535717ab4 modules: services: quassel: persist data 2023-10-26 13:49:02 +00:00
c960d91744 modules: services: pirate: persist data 2023-10-26 13:49:02 +00:00
49bb821db7 modules: services: monitoring: persist data 2023-10-26 13:49:01 +00:00
5a84204234 modules: services: nginx: persist SSL certificates 2023-10-26 13:49:01 +00:00
f9e85ad8ff modules: services: transmission: persist data 2023-10-26 13:49:01 +00:00
704c3ba4f6 modules: services: sabnzbd: persist data 2023-10-26 13:49:01 +00:00
73dbe296f3 modules: services: rss-bridge: persist data 2023-10-26 13:49:01 +00:00
b280829953 modules: services: podgrab: persist data 2023-10-26 13:49:01 +00:00
f019c7b26c modules: services: nextcloud: persist data 2023-10-26 13:49:01 +00:00
5f0f7d18d5 modules: services: navidrome: persist data 2023-10-26 13:49:01 +00:00
6cad8a541d modules: services: lohr: persist data 2023-10-26 13:49:01 +00:00
81cd8f085e modules: services: jellyfin: persist data 2023-10-26 13:49:01 +00:00
358574e417 modules: services: indexers: persist data 2023-10-26 13:49:01 +00:00
09520a42ac modules: services: postgresql: persist data 2023-10-26 13:49:01 +00:00
303aff4296 modules: services: postgresql-backup: persist data 2023-10-26 13:49:01 +00:00
d44d7b4c06 modules: services: paperless: persist data 2023-10-26 13:49:01 +00:00
a6d6b6a39e modules: services: matrix: persist data 2023-10-26 13:49:01 +00:00
9a0804a491 modules: services: gitea: persist repositories 2023-10-26 13:49:01 +00:00
6f354de7e2 modules: services: flood: persist data 2023-10-26 13:49:01 +00:00
de7375c356 modules: services: calibre-web: persist library 2023-10-26 13:49:01 +00:00
0933d7e269 modules: services: blog: persist website data 2023-10-26 13:49:01 +00:00
84d8e18d70 modules: hardware: bluetooth: persist connections 2023-10-26 13:49:01 +00:00
3f8fa8375f modules: hardware: netowrking persist connections 2023-10-26 13:49:01 +00:00
3ef8c051e7 modules: services: ssh-server: persist host keys 2023-10-26 13:49:01 +00:00
ed6e7513bb WIP: modules: systems: add persist
This is the module that takes care of configuring impermanence at the
system level.

WIP:
    * address FIXMEs
    * activate home-manager persistence?
        * set `programs.fuse.userAllowOther = true;` ?
    * point `age` to persisted paths [1] ?
    * make sure all services and modules are persisted correctly...

[1]: b1d18d25b8
2023-10-26 13:49:01 +00:00
3cd1789ec9 flake: add 'impermanence' 2023-10-26 13:49:00 +00:00
0f5f848c7e home: firefox: migrate deprecated option
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-10-26 13:49:00 +00:00
eebc8c8d84 home: vim: migrate to 'none-ls-nvim'
This is the community-maintained fork of the plug-in.
2023-10-26 13:44:54 +00:00
b6102124a1 overlays: add 'gruvbox-nvim-old-diff'
I dislike the new style of diff [1].

Thankfully somebody wrote a patch to configure it [2] (though not
completely to my liking, so the local patch here is a bit different).
I used it as a basis, but made it always revert, rather than
configurable.

[1]: https://github.com/ellisonleao/gruvbox.nvim/issues/290
[2]: https://github.com/ellisonleao/gruvbox.nvim/pull/291
2023-10-26 13:44:54 +00:00
217 changed files with 188 additions and 223 deletions

41
flake.lock generated
View file

@ -70,11 +70,11 @@
]
},
"locked": {
"lastModified": 1698579227,
"narHash": "sha256-KVWjFZky+gRuWennKsbo6cWyo7c/z/VgCte5pR9pEKg=",
"lastModified": 1696343447,
"narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "f76e870d64779109e41370848074ac4eaa1606ec",
"rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4",
"type": "github"
},
"original": {
@ -131,11 +131,11 @@
]
},
"locked": {
"lastModified": 1698670511,
"narHash": "sha256-jQIu3UhBMPHXzVkHQO1O2gg8SVo5lqAVoC6mOaLQcLQ=",
"lastModified": 1698250431,
"narHash": "sha256-qs2gTeH4wpnWPO6Oi6sOhp2IhG0i0DzcnrJxIY3/CP8=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "8e5416b478e465985eec274bc3a018024435c106",
"rev": "09587fbbc6a669f7725613e044c2577dc5d43ab5",
"type": "github"
},
"original": {
@ -145,13 +145,29 @@
"type": "github"
}
},
"impermanence": {
"locked": {
"lastModified": 1694622745,
"narHash": "sha256-z397+eDhKx9c2qNafL1xv75lC0Q4nOaFlhaU1TINqb8=",
"owner": "nix-community",
"repo": "impermanence",
"rev": "e9643d08d0d193a2e074a19d4d90c67a874d932e",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "master",
"repo": "impermanence",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1698611440,
"narHash": "sha256-jPjHjrerhYDy3q9+s5EAsuhyhuknNfowY6yt6pjn9pc=",
"lastModified": 1698134075,
"narHash": "sha256-foCD+nuKzfh49bIoiCBur4+Fx1nozo+4C/6k8BYk4sg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "0cbe9f69c234a7700596e943bfae7ef27a31b735",
"rev": "8efd5d1e283604f75a808a20e6cde0ef313d07d4",
"type": "github"
},
"original": {
@ -163,11 +179,11 @@
},
"nur": {
"locked": {
"lastModified": 1698745553,
"narHash": "sha256-Fdip7ewCtZTjOu7ATDFUAy3OqrgcyvzDElLXhr4YmmI=",
"lastModified": 1698317227,
"narHash": "sha256-jzSJjjxJr/IPvoPSWB1ZobmlAKku6eeggh9ffGV7Sig=",
"owner": "nix-community",
"repo": "NUR",
"rev": "dfbf198236d40e9741db76936088f05107e19013",
"rev": "32a38be31067b0a2f4919fd9e7a49bbefc34d25f",
"type": "github"
},
"original": {
@ -212,6 +228,7 @@
"flake-parts": "flake-parts",
"futils": "futils",
"home-manager": "home-manager",
"impermanence": "impermanence",
"nixpkgs": "nixpkgs",
"nur": "nur",
"pre-commit-hooks": "pre-commit-hooks"

View file

@ -39,6 +39,13 @@
};
};
impermanence = {
type = "github";
owner = "nix-community";
repo = "impermanence";
ref = "master";
};
nixpkgs = {
type = "github";
owner = "NixOS";

View file

@ -2,7 +2,7 @@
let
defaultModules = [
# Include generic settings
"${self}/modules/home"
"${self}/home"
{
# Basic user information defaults
home.username = lib.mkDefault "ambroisie";

View file

@ -13,7 +13,9 @@ let
];
}
# Include generic settings
"${self}/modules/nixos"
"${self}/modules"
# Include bundles of settings
"${self}/profiles"
];
buildHost = name: system: lib.nixosSystem {

56
home/default.nix Normal file
View file

@ -0,0 +1,56 @@
{ ... }:
{
imports = [
./aliases
./atuin
./bat
./bitwarden
./bluetooth
./calibre
./comma
./dircolors
./direnv
./discord
./documentation
./feh
./firefox
./flameshot
./fzf
./gammastep
./gdb
./git
./gpg
./gtk
./htop
./jq
./mail
./mpv
./nix
./nix-index
./nixpkgs
./nm-applet
./packages
./pager
./power-alert
./secrets
./ssh
./terminal
./tmux
./udiskie
./vim
./wm
./x
./xdg
./zathura
./zsh
];
# First sane reproducible version
home.stateVersion = "20.09";
# Who am I?
home.username = "ambroisie";
# Start services automatically
systemd.user.startServices = "sd-switch";
}

View file

@ -11,19 +11,6 @@ in
enable = my.mkDisableOption "tmux terminal multiplexer";
enablePassthrough = mkEnableOption "tmux DCS passthrough sequence";
trueColorTerminals = mkOption {
type = with types; listOf str;
default = lib.my.nullableToList config.my.home.terminal.program;
defaultText = ''
`[ config.my.home.terminal.program ]` if it is non-null, otherwise an
empty list.
'';
example = [ "xterm-256color" ];
description = ''
$TERM values which should be considered to always support 24-bit color.
'';
};
};
config.programs.tmux = lib.mkIf cfg.enable {
@ -88,14 +75,6 @@ in
set -g allow-passthrough on
''
}
# Force 24-bit color for each relevant $TERM
${
let
mkTcFlag = term: ''set -as terminal-features ",${term}:RGB"'';
in
lib.concatMapStringsSep "\n" mkTcFlag cfg.trueColorTerminals
}
'';
};
}

Some files were not shown because too many files have changed in this diff Show more