-{ pkgs, lib, config, ... }:
+{ pkgs, lib, config, hostName, ... }:
{
imports = [
- ./softwares.nix
- ./options.nix
+ ../home-manager/profiles/essential.nix
+ ../home-manager/profiles/vim.nix
+ ../home-manager/options.nix
julm/mutt.nix
- julm/hosts/oignon.nix
- julm/hosts/losurdo.nix
+ (import (julm/hosts + "/${hostName}.nix"))
];
-host.desktop = lib.elem config.host.name [ /*"losurdo"*/ "oignon" ];
-host.server = lib.elem config.host.name [ "losurdo" "mermet" ];
-programs.bat.enable = true;
-programs.bash.enable = true;
-#programs.broot.enable = true;
-programs.firefox = {
- enable = config.host.desktop;
- profiles =
- let defaultProfile = {
- settings = {
- "browser.bookmarks.showMobileBookmarks" = 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 softwares/firefox/userChrome.css;
- }; in {
- "rp4xy6ye.2021" = lib.mkMerge [defaultProfile {
- id = 0;
- name = "2021";
- settings = {
- "browser.startup.homepage" = "https://code.sourcephile.fr";
- };
- }];
- "8y3d28fa.tor" = lib.mkMerge [defaultProfile {
- id = 1;
- name = "tor";
- settings = {
- "browser.startup.homepage" = "https://check.torproject.org";
- };
- }];
+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 = lib.readFile ../home-manager/profiles/firefox/userChrome.css;
+ }; in {
+ "rp4xy6ye.2021" = lib.mkMerge [defaultProfile {
+ id = 0;
+ name = "2021";
+ settings = {
+ "browser.startup.homepage" = "https://code.sourcephile.fr";
+ };
+ }];
};
-programs.gpg.enable = 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.enable = true;
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.direnv.enable = true;
-programs.htop.enable = true;
-programs.irssi.enable = config.host.name == "mermet" || config.host.name == "losurdo";
-programs.irssi.extraConfig = builtins.readFile julm/irssi/config;
+programs.irssi.extraConfig = lib.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
OFTC : ${pkgs.pass}/bin/pass oftc.net/irc/julm
ToileLibre : ${pkgs.pass}/bin/pass toile-libre.org/irc/julm
'';
-programs.man.enable = true;
-#programs.neovim.enable = true;
-programs.ssh.enable = true;
-programs.ssh.matchBlocks."lan.losurdo.sourcephile.fr" = {
+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.tmux.enable = true;
-programs.vim.enable = true;
-manual.manpages.enable = false;
+});
programs.git = {
- enable = true;
userName = "Julien Moutinho";
userEmail = "julm@sourcephile.fr";
signing.key = "0x7182433A39582282929B2A222E3618DD0D087650";
signing.signByDefault = false;
- package =
- if lib.elem config.host.name [ "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.smtpUser = "julm@sourcephile.fr";
};
};
-services.redshift.enable = lib.mkDefault config.host.desktop;
-xsession.enable = lib.mkDefault config.host.desktop;
-xsession.windowManager.xmonad.enable = lib.mkDefault config.host.desktop;
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";
-};
-# Warning: triggers a rebuild of mumble
-#nixpkgs.config.mumble.speechdSupport = lib.mkDefault config.host.desktop;
-home.packages = [
- pkgs.acpi
- #pkgs.amfora
- pkgs.aria2
- pkgs.aspell
- pkgs.aspellDicts.fr
- pkgs.bc
- pkgs.binutils
- pkgs.bison
- pkgs.bmon
- #pkgs.browsh
- #pkgs.cabal2nix
- pkgs.cachix
- pkgs.compsize
- pkgs.convmv
- pkgs.coreutils
- pkgs.croc
- pkgs.cryptsetup
- pkgs.curl
- #pkgs.dnsutils
- pkgs.dstat
- pkgs.e2fsprogs
- pkgs.ethtool
- pkgs.exa
- pkgs.ffmpeg
- pkgs.file
- pkgs.flex
- pkgs.gcc
- pkgs.git-crypt
- pkgs.git-quick-stats
- #pkgs.git-remote-gpg
- pkgs.glib # gio
- #pkgs.go-mtpfs
- pkgs.gnumake
- pkgs.gvfs
- #pkgs.haskell.packages.ghc865.zerobin
- pkgs.hledger
- pkgs.home-manager
- pkgs.htop
- pkgs.hunspell
- pkgs.hunspellDicts.fr-moderne
- pkgs.hwinfo
- pkgs.imagemagick
- pkgs.inetutils
- pkgs.ipfs
- pkgs.jq
- pkgs.knot-dns
- pkgs.ldns
- pkgs.less
- pkgs.lf
- pkgs.lftp
- pkgs.libfaketime
- pkgs.libidn
- pkgs.libxml2.bin
- #pkgs.linuxPackages.cpupower
- #pkgs.linuxPackages.perf
- pkgs.lm_sensors
- pkgs.lsof
- pkgs.lsscsi
- pkgs.mastodon-archive
- #pkgs.meli
- pkgs.miniupnpc
- pkgs.mosh
- pkgs.ncdu
- pkgs.ncurses
- pkgs.neofetch
- pkgs.nix-prefetch-git
- pkgs.nixpkgs-review
- pkgs.nmon
- pkgs.ntfs3g
- #pkgs.onionshare
- pkgs.openssl
- pkgs.opusTools
- pkgs.p7zip
- pkgs.parted
- pkgs.pass
- pkgs.pastebinit
- pkgs.patchelf
- pkgs.pciutils
- pkgs.podl
- pkgs.poppler_utils
- pkgs.powertop
- pkgs.procps
- #pkgs.profanity
- pkgs.pv
- pkgs.qprint
- pkgs.ranger
- pkgs.rdfind
- pkgs.ripgrep
- pkgs.sanoid
- pkgs.sdate
- pkgs.shellcheck
- pkgs.sipcalc
- pkgs.smartmontools
- pkgs.socat
- pkgs.sqlite
- pkgs.sshfs
- pkgs.stig
- pkgs.strace
- pkgs.stress
- pkgs.sudo
- pkgs.tcpdump
- pkgs.thttpd
- pkgs.tig
- pkgs.tree
- pkgs.unar
- pkgs.unzip
- pkgs.usbutils
- pkgs.utillinux
- pkgs.vbetool
- pkgs.weechat
- pkgs.wget
- pkgs.wgetpaste
- pkgs.which
- pkgs.xdg_utils
- pkgs.xmlstarlet
- pkgs.xsel
- pkgs.youtube-dl
- pkgs.yubikey-personalization
- pkgs.zfs
- ] ++ lib.optionals config.host.desktop [
- pkgs.amule
- #pkgs.calibre
- #pkgs.chromium
- pkgs.dino
- pkgs.djview
- pkgs.dmenu
- pkgs.evince
- pkgs.freeciv_gtk
- pkgs.gajim
- pkgs.geeqie
- pkgs.gimp
- pkgs.glxinfo
- pkgs.gparted
- pkgs.graphviz
- pkgs.hicolor-icon-theme
- pkgs.keepass
- pkgs.libdvdcss
- pkgs.libreoffice
- pkgs.liferea
- pkgs.mplayer
- pkgs.mpv
- pkgs.mumble
- pkgs.networkmanager-openvpn
- pkgs.networkmanagerapplet
- pkgs.nix-du
- pkgs.pavucontrol
- pkgs.thunderbird
- pkgs.transmission-gtk
- pkgs.vlc
- pkgs.xclip
- pkgs.xorg.xkill
- pkgs.xsane
- pkgs.yubikey-personalization-gui
- ];
}