{ pkgs, lib, config, hostName, ... }:
{
-imports = [
- ./programs.nix
- ./options.nix
- julm/mutt.nix
- (import (julm/hosts + "/${hostName}.nix"))
-];
-programs.firefox = {
- profiles =
- let defaultProfile = {
- settings = {
- "browser.bookmarks.showMobileBookmarks" = true;
- "browser.compactmode.show" = true;
- "browser.search.isUS" = false;
- "browser.search.region" = "FR";
- "distribution.searchplugins.defaultLocale" = "fr-FR";
- "general.useragent.locale" = "fr-FR";
- "security.identityblock.show_extended_validation" = true;
- "toolkit.legacyUserProfileCustomizations.stylesheets" = true;
- };
- userChrome = builtins.readFile programs/firefox/userChrome.css;
- }; in {
- "rp4xy6ye.2021" = lib.mkMerge [defaultProfile {
- id = 0;
- name = "2021";
+ imports = [
+ ../home-manager/profiles/essential.nix
+ ../home-manager/profiles/vim.nix
+ ../home-manager/options.nix
+ julm/mutt.nix
+ (import (julm/hosts + "/${hostName}.nix"))
+ ];
+ programs.bash.shellAliases = {
+ firefox-calyx = "sudo systemd-run -P -p JoinsNamespaceOf=netns-calyx.service -p PrivateNetwork=true -p BindReadOnlyPaths=/etc/netns/calyx/resolv.conf:/etc/resolv.conf -E DISPLAY=$DISPLAY -p User=julm -E DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS -E LANG=$LANG -E LOCALE_ARCHIVE=$LOCALE_ARCHIVE -E PATH=$PATH -- firefox -P calyx";
+ };
+ programs.browserpass.enable = config.programs.firefox.enable;
+ programs.firefox.profiles =
+ let
+ defaultProfile = {
settings = {
- "browser.startup.homepage" = "https://code.sourcephile.fr";
+ "browser.bookmarks.showMobileBookmarks" = true;
+ "browser.compactmode.show" = true;
+ "browser.search.isUS" = false;
+ "browser.search.region" = "FR";
+ "distribution.searchplugins.defaultLocale" = "fr-FR";
+ "dom.security.https_first" = true;
+ "dom.security.https_only_mode" = true;
+ "general.useragent.locale" = "fr-FR";
+ "privacy.globalprivacycontrol.enabled" = true;
+ "privacy.globalprivacycontrol.functionality.enabled" = true;
+ "security.identityblock.show_extended_validation" = true;
+ "toolkit.legacyUserProfileCustomizations.stylesheets" = true;
+ #"privacy.firstparty.isolate" = true;
};
- }];
- "8y3d28fa.tor" = lib.mkMerge [defaultProfile {
- id = 1;
- name = "tor";
- settings = {
- "browser.startup.homepage" = "https://check.torproject.org";
+ userChrome = lib.readFile ../home-manager/profiles/firefox/userChrome.css;
+ };
+ in
+ {
+ "0yplujgj.2022" = lib.mkMerge [
+ defaultProfile
+ {
+ id = 0;
+ name = "2022";
+ settings = {
+ "browser.startup.homepage" = "https://democracynow.org";
+ };
+ }
+ ];
+ "8y3d28fa.tor" = lib.mkMerge [
+ defaultProfile
+ {
+ id = 1;
+ name = "tor";
+ settings = {
+ "browser.startup.homepage" = "https://check.torproject.org";
+ "privacy.firstparty.isolate" = true;
+ };
+ }
+ ];
+ "zqa1ck7d.calyx" = lib.mkMerge [
+ defaultProfile
+ {
+ id = 2;
+ name = "calyx";
+ settings = {
+ "browser.startup.homepage" = "https://icanhazip.com";
+ "privacy.firstparty.isolate" = true;
+ };
+ }
+ ];
+ };
+ home.file."${config.programs.gpg.homedir}/gpg.conf".text = ''
+ # julm@autogeree.net
+ trusted-key 0xD15AF7F467E8299B
+ # julm@sourcephile.fr (2021-08-12)
+ trusted-key 0xA58CD81C3863926F
+ '';
+ services.gpg-agent.sshKeys = [
+ # julm@autogeree.net
+ "D275EBA09C7E1FFBFB47F6EEF164E6D56FB24AB2"
+ # julm@sourcephile.fr (2021-08-12)
+ "3D94D14514F1EA2B6D62F1275D888897B082415D"
+ # Ed25519 key added on: 2021-10-31 06:48:49
+ # Fingerprints: MD5:fe:fe:81:79:d8:7f:e4:ff:64:ac:f3:1c:bd:65:24:3a
+ # SHA256:bCfwfC8MQTjm6c1HcMLtzvGpnWRdqLwe/bvbh2jsNaA
+ "F6CCA60CF05FADAE911CFBEC0BCDED22F40A19FD"
+ # Radicle key added on 2024-05-21 23:24:10
+ # Fingerprints: SHA256:yhSIWvGFqN0oM/oTE1hMhEdhlSSEeCMcp/g/3TdNKYY
+ "1D6AF2BF857201D98413475AE022F8A4CFC34BF0"
+ ];
+ programs.irssi.extraConfig = lib.readFile julm/irssi/irssi.conf;
+ xdg.configFile."doom/config.el".text = lib.readFile julm/emacs/config.el;
+ home.file.".irssi/passwd" = lib.mkIf config.programs.irssi.enable {
+ text = ''
+ FreeNode : ${pkgs.pass}/bin/pass freenode.net/irc/julm
+ GeekNode : ${pkgs.pass}/bin/pass geeknode.org/irc/julm
+ IndyMedia : ${pkgs.pass}/bin/pass indymedia.org/irc/julm
+ Libera : ${pkgs.pass}/bin/pass libera.chat/irc/julm
+ OFTC : ${pkgs.pass}/bin/pass oftc.net/irc/julm
+ ToileLibre : ${pkgs.pass}/bin/pass toile-libre.org/irc/julm
+ '';
+ };
+ programs.ssh.matchBlocks =
+ {
+ "aubergine.sp" = {
+ #compression = true; # Helps to get a better framerate with forwardX11
+ forwardAgent = true;
+ forwardX11 = true;
+ forwardX11Trusted = true;
+ serverAliveInterval = 15;
+ extraOptions = {
+ Ciphers = "aes128-gcm@openssh.com";
};
- }];
+ };
+ "blackberry.sp" = {
+ user = "julm";
+ };
+ "courge.sp" = {
+ user = "mo";
+ };
+ "patate.sp" = {
+ user = "sevy";
+ };
+ } //
+ lib.genAttrs [ "lan.losurdo.sourcephile.fr" "losurdo.sp" ]
+ (_: {
+ compression = true; # Helps to get a better framerate with forwardX11
+ forwardX11 = true;
+ forwardX11Trusted = true;
+ serverAliveInterval = 15;
+ });
+ programs.git = {
+ userName = "Julien Moutinho";
+ userEmail = "julm@sourcephile.fr";
+ signing.key = "0x4FE467034C11017B429BAC53A58CD81C3863926F";
+ signing.signByDefault = false;
+ extraConfig = {
+ sendemail.smtpEncryption = "ssl"; # Yes, "ssl", not "tls" which does not work because it expects STARTTLS.
+ sendemail.smtpServer = "mail.sourcephile.fr";
+ sendemail.smtpServerPort = "465";
+ sendemail.smtpUser = "julm@sourcephile.fr";
};
-};
-home.file."${config.programs.gpg.homedir}/gpg.conf".text = ''
- # julm@autogeree.net
- trusted-key 0xD15AF7F467E8299B
- # julm@sourcephile.fr (2021-08-12)
- trusted-key 0xA58CD81C3863926F
-'';
-services.gpg-agent.sshKeys = [
- # julm@autogeree.net
- "D275EBA09C7E1FFBFB47F6EEF164E6D56FB24AB2"
- # julm@sourcephile.fr (2021-08-12)
- "3D94D14514F1EA2B6D62F1275D888897B082415D"
- # Ed25519 key added on: 2021-10-31 06:48:49
- # Fingerprints: MD5:fe:fe:81:79:d8:7f:e4:ff:64:ac:f3:1c:bd:65:24:3a
- # SHA256:bCfwfC8MQTjm6c1HcMLtzvGpnWRdqLwe/bvbh2jsNaA
- "F6CCA60CF05FADAE911CFBEC0BCDED22F40A19FD"
-];
-programs.irssi.extraConfig = builtins.readFile julm/irssi/config;
-home.file.".irssi/passwd".text = ''
- FreeNode : ${pkgs.pass}/bin/pass freenode.net/irc/julm
- GeekNode : ${pkgs.pass}/bin/pass geeknode.org/irc/julm
- IndyMedia : ${pkgs.pass}/bin/pass indymedia.org/irc/julm
- Libera : ${pkgs.pass}/bin/pass libera.chat/irc/julm
- OFTC : ${pkgs.pass}/bin/pass oftc.net/irc/julm
- ToileLibre : ${pkgs.pass}/bin/pass toile-libre.org/irc/julm
-'';
-programs.ssh.matchBlocks = lib.genAttrs ["lan.losurdo.sourcephile.fr" "losurdo.wg"] (_: {
- compression = true; # Helps to get a better framerate with forwardX11
- forwardX11 = true;
- forwardX11Trusted = true;
- serverAliveInterval = 15;
-});
-programs.git = {
- userName = "Julien Moutinho";
- userEmail = "julm@sourcephile.fr";
- signing.key = "0x7182433A39582282929B2A222E3618DD0D087650";
- signing.signByDefault = false;
- package =
- if lib.elem hostName [ "losurdo" "oignon" ]
- then pkgs.gitFull
- else pkgs.gitMinimal;
- extraConfig = {
- sendemail.smtpEncryption = "ssl"; # Yes, "ssl", not "tls" which does not work because it expects STARTTLS.
- sendemail.smtpServer = "mail.sourcephile.fr";
- sendemail.smtpServerPort = "465";
- sendemail.smtpUser = "julm@sourcephile.fr";
};
-};
-home.stateVersion = "20.09";
-home.sessionPath = [ "${config.home.homeDirectory}/bin" ];
-home.sessionVariables = {
- EDITOR = "vim";
- LANG = "fr_FR.UTF-8";
- LESS = "-FRSX";
- LOCALE_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive";
- MANPAGER = "less";
-};
}