Merge branch 'main' of git.atlanticaweb.fr:alexandre/nixos-config
This commit is contained in:
commit
69e8962c22
70
README.md
70
README.md
|
@ -1,6 +1,66 @@
|
||||||
# dotconf
|
# nixos-config
|
||||||
* backup
|
This repository contain all my nixos config
|
||||||
|
|
||||||
git clone
|
hosts :
|
||||||
change /etc/nixos to link to ~/git/nixos-config/hosts/backup
|
* backup
|
||||||
add ln -s /home/alexandre/git/nixos-config/modules /etc/modules
|
backup server : online
|
||||||
|
* web
|
||||||
|
server web : OVH
|
||||||
|
* dell-5590
|
||||||
|
pro laptop
|
||||||
|
* services
|
||||||
|
VM on personal PX server. Hosting grafana - prometheus - loki
|
||||||
|
* x201
|
||||||
|
personnal laptop
|
||||||
|
* next
|
||||||
|
VM on personnal PX server. Nosting personnal nextcloud
|
||||||
|
|
||||||
|
modules :
|
||||||
|
* common.nix : common config like environnement variable and common system packages base
|
||||||
|
* gitea.nix : use on web server
|
||||||
|
* prometheus-node.nix : prometheus node-exporter. use by all machine
|
||||||
|
* rest-server.nix : use by backup server. Restic server
|
||||||
|
* users.nix : user configuration. use by all machine
|
||||||
|
|
||||||
|
# How to use
|
||||||
|
## First boot
|
||||||
|
After first boot :
|
||||||
|
|
||||||
|
nix-shell -p git
|
||||||
|
git clone gitea@git.atlanticaweb.fr:alexandre/nixos-config.git
|
||||||
|
cd nix-os-config
|
||||||
|
cp modules/users.nix /etc/nixos/
|
||||||
|
cp modules/common.nix /etc/nixos/
|
||||||
|
nano /etc/nixos/configuration.nix
|
||||||
|
|
||||||
|
add **./users.nix** and **./common.nix** after **./hardware-configuration.nix** and exit
|
||||||
|
|
||||||
|
nixos-rebuild switch
|
||||||
|
rm -rf ~/nixos-config
|
||||||
|
exit
|
||||||
|
|
||||||
|
Copy your personnal private key to account
|
||||||
|
|
||||||
|
scp -i .ssh/privatekey .ssh/privatekey machine:/home/alexandre/.ssh/
|
||||||
|
|
||||||
|
Logging with user
|
||||||
|
|
||||||
|
mkdir git;cd git
|
||||||
|
git clone gitea@git.atlanticaweb.fr:alexandre/nixos-config.git
|
||||||
|
cd nixos-config/hosts
|
||||||
|
mkdir newhosts
|
||||||
|
cd newhosts
|
||||||
|
cp /etc/nixos/* .
|
||||||
|
|
||||||
|
edit configuration.nix and change **./users.nix** to **../modules/users.nix** and change ./common.nix to ../modules/common.nix
|
||||||
|
|
||||||
|
rm /etc/nixos
|
||||||
|
ln -s /home/alexandre/git/nixos-config/hosts/machine /etc/nixos
|
||||||
|
ln -s /home/alexandre/git/
|
||||||
|
|
||||||
|
## Exploit
|
||||||
|
to rebuild system, just :
|
||||||
|
|
||||||
|
sudo nixos-rebuild switch
|
||||||
|
|
||||||
|
Users have not a password.
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
|
|
||||||
{ lib, config, ... }:
|
{ lib, config, pkgs, ... }:
|
||||||
|
let
|
||||||
|
caddyDir = "/var/lib/caddy";
|
||||||
|
in
|
||||||
{
|
{
|
||||||
services.restic.server = {
|
services.restic.server = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -7,9 +10,33 @@
|
||||||
extraFlags = [ "--no-auth" ];
|
extraFlags = [ "--no-auth" ];
|
||||||
dataDir = "/var/lib/backup";
|
dataDir = "/var/lib/backup";
|
||||||
prometheus = true;
|
prometheus = true;
|
||||||
|
listenAddress = "127.0.0.1:8080";
|
||||||
};
|
};
|
||||||
networking = {
|
networking = {
|
||||||
firewall.enable = true;
|
firewall.enable = true;
|
||||||
firewall.allowedTCPPorts = [ 8000 ];
|
firewall.allowedTCPPorts = [ 80 443 ];
|
||||||
};
|
};
|
||||||
|
services.caddy = {
|
||||||
|
enable = true;
|
||||||
|
email = "lucazeau.alexandre@gmail.com";
|
||||||
|
config = ''
|
||||||
|
{
|
||||||
|
storage file_system {
|
||||||
|
root ${caddyDir}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
https://back.atlanticaweb.fr {
|
||||||
|
reverse_proxy http://127.0.0.1:8080
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
users.users.caddy = {
|
||||||
|
group = "caddy";
|
||||||
|
uid = config.ids.uids.caddy;
|
||||||
|
home = caddyDir;
|
||||||
|
createHome = true;
|
||||||
|
extraGroups = [ "users" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
users.groups.caddy.gid = config.ids.uids.caddy;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue