mirror of
https://github.com/JulienMalka/snowfield.git
synced 2025-07-02 07:27:20 +02:00
Much change, kinda broke my git history
This commit is contained in:
parent
dbd0f9a448
commit
af11597854
12 changed files with 104 additions and 17 deletions
25
base.nix
25
base.nix
|
@ -2,25 +2,26 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./users/default.nix
|
./users/default.nix
|
||||||
./users/julien.nix
|
./users/julien.nix
|
||||||
];
|
];
|
||||||
luj.nix.enable = true;
|
luj.nix.enable = true;
|
||||||
|
luj.secrets.enable = true;
|
||||||
|
luj.ssh-server.enable = true;
|
||||||
|
|
||||||
sops.defaultSopsFile = ./secrets/secrets.yaml;
|
sops.defaultSopsFile = ./secrets/secrets.yaml;
|
||||||
sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key"];
|
sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||||
|
|
||||||
time.timeZone = "Europe/Paris";
|
time.timeZone = "Europe/Paris";
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
console = {
|
console = {
|
||||||
font = "Lat2-Terminus16";
|
font = "Lat2-Terminus16";
|
||||||
keyMap = "fr";
|
keyMap = "fr";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
services.openssh.enable = true;
|
programs.mosh.enable = true;
|
||||||
programs.mosh.enable = true;
|
programs.gnupg.agent.enable = true;
|
||||||
programs.gnupg.agent.enable = true;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,7 @@ with lib;
|
||||||
msmtp.enable = true;
|
msmtp.enable = true;
|
||||||
primary = true;
|
primary = true;
|
||||||
realName = "Julien Malka";
|
realName = "Julien Malka";
|
||||||
passwordCommand = "${pkgs.gnupg}/bin/gpg -q --batch --passphrase-file /home/julien/email-passphrase -d ${./ens.pass.gpg}";
|
passwordCommand = "cat /home/julien/.config/ens-mail-passwd";
|
||||||
smtp = {
|
smtp = {
|
||||||
host = "clipper.ens.fr";
|
host = "clipper.ens.fr";
|
||||||
};
|
};
|
||||||
|
|
|
@ -54,6 +54,7 @@ with lib;
|
||||||
rnix-lsp
|
rnix-lsp
|
||||||
tree-sitter
|
tree-sitter
|
||||||
sumneko-lua-language-server
|
sumneko-lua-language-server
|
||||||
|
ripgrep
|
||||||
];
|
];
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
luafile ${./lua}/lsp.lua
|
luafile ${./lua}/lsp.lua
|
||||||
|
|
37
home-manager-modules/ssh-client/default.nix
Normal file
37
home-manager-modules/ssh-client/default.nix
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
let
|
||||||
|
cfg = config.luj.programs.ssh-client;
|
||||||
|
in
|
||||||
|
with lib;
|
||||||
|
{
|
||||||
|
options.luj.programs.ssh-client = {
|
||||||
|
enable = mkEnableOption "Enable ssh client";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
programs.ssh = {
|
||||||
|
enable = true;
|
||||||
|
matchBlocks = {
|
||||||
|
newton = {
|
||||||
|
hostname = "newton.julienmalka.me";
|
||||||
|
user = "julien";
|
||||||
|
port = 45;
|
||||||
|
};
|
||||||
|
lisa = {
|
||||||
|
hostname = "2a01:e0a:5f9:9681:5880:c9ff:fe9f:3dfb";
|
||||||
|
user = "julien";
|
||||||
|
# port = 45;
|
||||||
|
};
|
||||||
|
newton-init = {
|
||||||
|
hostname = "newton.julienmalka.me";
|
||||||
|
user = "root";
|
||||||
|
port = 2222;
|
||||||
|
};
|
||||||
|
sas = {
|
||||||
|
hostname = "sas.eleves.ens.fr";
|
||||||
|
user = "jmalka";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -2,6 +2,7 @@
|
||||||
{
|
{
|
||||||
luj.hmgr.julien = {
|
luj.hmgr.julien = {
|
||||||
luj.programs.neovim.enable = true;
|
luj.programs.neovim.enable = true;
|
||||||
|
luj.programs.ssh-client.enable = true;
|
||||||
luj.programs.git.enable = true;
|
luj.programs.git.enable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
|
|
||||||
luj.hmgr.julien = {
|
luj.hmgr.julien = {
|
||||||
luj.programs.neovim.enable = true;
|
luj.programs.neovim.enable = true;
|
||||||
|
luj.programs.ssh-client.enable = true;
|
||||||
luj.i3.enable = true;
|
luj.i3.enable = true;
|
||||||
luj.polybar.enable = true;
|
luj.polybar.enable = true;
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
@ -28,6 +29,7 @@
|
||||||
ctags
|
ctags
|
||||||
ungoogled-chromium
|
ungoogled-chromium
|
||||||
networkmanagerapplet
|
networkmanagerapplet
|
||||||
|
sops
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
luj.hmgr.julien = {
|
luj.hmgr.julien = {
|
||||||
luj.programs.neovim.enable = true;
|
luj.programs.neovim.enable = true;
|
||||||
luj.programs.git.enable = true;
|
luj.programs.git.enable = true;
|
||||||
|
luj.programs.ssh-client.enable = true;
|
||||||
luj.emails = {
|
luj.emails = {
|
||||||
enable = true;
|
enable = true;
|
||||||
backend.enable = true;
|
backend.enable = true;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, lib, ... }:
|
{ config, pkgs, lib, inputs, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.luj.hmgr;
|
cfg = config.luj.hmgr;
|
||||||
in
|
in
|
||||||
|
@ -13,7 +13,7 @@ with lib;
|
||||||
lib.mapAttrs
|
lib.mapAttrs
|
||||||
(name: value:
|
(name: value:
|
||||||
{
|
{
|
||||||
imports = with builtins; map (x: ../../home-manager-modules + "/${x}/default.nix") (attrNames (readDir ../../home-manager-modules));
|
imports = with builtins; (map (x: ../../home-manager-modules + "/${x}/default.nix") (attrNames (readDir ../../home-manager-modules)));
|
||||||
home.username = "${name}";
|
home.username = "${name}";
|
||||||
home.homeDirectory = "/home/${name}";
|
home.homeDirectory = "/home/${name}";
|
||||||
home.stateVersion = "21.11";
|
home.stateVersion = "21.11";
|
||||||
|
|
23
modules/secrets/default.nix
Normal file
23
modules/secrets/default.nix
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
{ pkgs, config, lib, inputs, ... }:
|
||||||
|
let
|
||||||
|
cfg = config.luj.secrets;
|
||||||
|
in
|
||||||
|
with lib;
|
||||||
|
{
|
||||||
|
options.luj.secrets = {
|
||||||
|
enable = mkEnableOption "Create secrets";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable
|
||||||
|
{
|
||||||
|
sops.secrets.ens-mail-passwd = {
|
||||||
|
owner = "julien";
|
||||||
|
path = "/home/julien/.config/ens-mail-passwd";
|
||||||
|
};
|
||||||
|
|
||||||
|
sops.secrets.sendinblue-mail-passwd = {};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
}
|
21
modules/ssh-server/default.nix
Normal file
21
modules/ssh-server/default.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{ pkgs, config, lib, inputs, ... }:
|
||||||
|
let
|
||||||
|
cfg = config.luj.ssh-server;
|
||||||
|
in
|
||||||
|
with lib;
|
||||||
|
{
|
||||||
|
options.luj.ssh-server = {
|
||||||
|
enable = mkEnableOption "Accept ssh connections";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable
|
||||||
|
{
|
||||||
|
services.openssh = {
|
||||||
|
enable = true;
|
||||||
|
ports = [ 45 ];
|
||||||
|
passwordAuthentication = false;
|
||||||
|
permitRootLogin = "no";
|
||||||
|
openFirewall = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -8,7 +8,7 @@ let
|
||||||
host = "smtp-relay.sendinblue.com";
|
host = "smtp-relay.sendinblue.com";
|
||||||
port = "587";
|
port = "587";
|
||||||
user = "julien.malka@me.com";
|
user = "julien.malka@me.com";
|
||||||
passwordeval = "${pkgs.gnupg}/bin/gpg -q --batch --passphrase-file /home/julien/email-passphrase -d ${./sendinblue.pass.gpg}";
|
passwordeval = "cat /run/secrets/sendinblue-mail-passwd";
|
||||||
from = emailFrom;
|
from = emailFrom;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
users.users.julien = {
|
users.users.julien = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
home = "/home/julien";
|
home = "/home/julien";
|
||||||
extraGroups = [ "wheel" "keys"];
|
extraGroups = [ "wheel" config.users.groups.keys.name];
|
||||||
shell = pkgs.fish;
|
shell = pkgs.fish;
|
||||||
passwordFile = config.sops.secrets.user-julien-password.path;
|
passwordFile = config.sops.secrets.user-julien-password.path;
|
||||||
openssh.authorizedKeys.keyFiles = [
|
openssh.authorizedKeys.keyFiles = [
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue