diff --git a/home-manager/mrflos-cli.nix b/home-manager/mrflos-cli.nix new file mode 100644 index 0000000..5a7c35a --- /dev/null +++ b/home-manager/mrflos-cli.nix @@ -0,0 +1,471 @@ +{ config, pkgs, lib, ... }: + +{ + # Home Manager needs a bit of information about you and the paths it should + # manage. + home.username = "florian"; + home.homeDirectory = "/home/florian"; + + # This value determines the Home Manager release that your configuration is + # compatible with. This helps avoid breakage when a new Home Manager release + # introduces backwards incompatible changes. + # + # You should not change this value, even if you update Home Manager. If you do + # want to update the value, then make sure to first check the Home Manager + # release notes. + home.stateVersion = "23.11"; # Please read the comment before changing. + + # The home.packages option allows you to install Nix packages into your + # environment. + home.packages = with pkgs; [ + #cli + ansible + bat + btop + coreutils + curl + dnsutils + emacs-nox + fd + findutils + fzf + gnugrep + gnumake + gnupg + imagemagick + jq + git + glances + htop + lazygit + lsd + mc + micro + mosh + mpd + neofetch + nixfmt + pandoc + pass + pciutils + pinentry + ripgrep + slides + starship + tmux + tree + unzip + usbutils + wget + whois + wirelesstools + yt-dlp + zellij + zola + zsh-autosuggestions + + # apps + kitty + + # fonts + (pkgs.nerdfonts.override { fonts = [ "Iosevka" ]; }) + + # # You can also create simple shell scripts directly inside your + # # configuration. For example, this adds a command 'my-hello' to your + # # environment: + # (pkgs.writeShellScriptBin "my-hello" '' + # echo "Hello, ${config.home.username}!" + # '') + ]; + + # Home Manager is pretty good at managing dotfiles. The primary way to manage + # plain files is through 'home.file'. + home.file = { + # # Building this configuration will create a copy of 'dotfiles/screenrc' in + # # the Nix store. Activating the configuration will then make '~/.screenrc' a + # # symlink to the Nix store copy. + # ".screenrc".source = dotfiles/screenrc; + + # # You can also set the file content immediately. + # ".gradle/gradle.properties".text = '' + # org.gradle.console=verbose + # org.gradle.daemon.idletimeout=3600000 + # ''; + }; + + # You can also manage environment variables but you will have to manually + # source + # + # ~/.nix-profile/etc/profile.d/hm-session-vars.sh + # + # or + # + # /etc/profiles/per-user/florian/etc/profile.d/hm-session-vars.sh + # + # if you don't want to manage your shell through Home Manager. + home.sessionVariables = { + EDITOR = "nvim"; + }; + + # Let Home Manager install and manage itself. + programs.home-manager.enable = true; + + programs = { + neovim = { + enable = true; + viAlias = true; + vimAlias = true; + }; + starship = { + enable = true; + enableZshIntegration = true; + settings = { + format = lib.concatStrings [ + "$\{custom.tztime\}" + "$all" + "$directory" + "$character" + ]; + add_newline = true; # Inserts a blank line between shell prompts + character = { + success_symbol = "[➜](bold green)"; + error_symbol = "[➜](bold red)"; + }; + custom.tztime = { + command = "date +\"%a %d %b %H:%M%p\""; + when = "true"; + format = "\\[\$symbol(\$output)\\] (purple)"; + }; + }; + }; + zsh = { + enable = true; + enableAutosuggestions = true; + shellAliases = { + ls = "lsd --hyperlink=auto"; + icat = "kitty +kitten icat"; + nixedit = "vi /etc/nixos"; + nixupdate = "sudo nix-channel --update && sudo nixos-rebuild switch"; + nixclean = "sudo nix-env --delete-generations old --profile /nix/var/nix/profiles/system && sudo /nix/var/nix/profiles/system/bin/switch-to-configuration switch && sudo nix-store --gc"; + }; + oh-my-zsh = { + enable = true; + plugins = [ "git" "ssh-agent" ]; + theme = "robbyrussell"; + }; + }; + ssh = { + enable = true; + extraConfig = '' +Host * + IgnoreUnknown UseKeychain + UseKeychain yes + ServerAliveInterval 15 + ServerAliveCountMax 3 + +# CLIC mrflos rp4 Maison +Host mrflospw +HostName mrflos.pw +User mrflos +Port 4222 +IdentitiesOnly yes +IdentityFile ~/.ssh/id_ed25519 + +# CLIC Gatien +Host clicgatien +HostName clic.cooptic.be +Port 4222 +User clic +IdentitiesOnly yes +IdentityFile ~/.ssh/id_ed25519 + +# nas synology DS216play maison +Host nas +HostName 192.168.1.2 +User mrflos +Port 65522 +IdentitiesOnly yes +IdentityFile ~/.ssh/id_ed25519 + +# nas laurent +Host naslaurent +HostName 82.65.9.168 +Port 65522 +User furax37 +IdentitiesOnly yes +IdentityFile ~/.ssh/id_ed25519 + +# ecocloud +Host ecocloud ecocloud-s-mart.im.utc 192.168.196.26 +HostName 192.168.196.26 +User optisseur +ProxyJump 10.200.0.240 + +# Friends +Host furax +User admin +HostName furax37.org +Port 22 +IdentitiesOnly yes + +# Yeswiki.pro +Host yeswikipro +HostName 138.201.86.17 +Port 4222 +User admin +IdentitiesOnly yes +IdentityFile ~/.ssh/id_ed25519 + +# Proxmox Clic Yeswiki.pro +Host clicyeswikipro +HostName 136.243.103.121 +Port 22 +User root +IdentitiesOnly yes +IdentityFile ~/.ssh/id_ed25519 + +# Bastion Globenet +Host bastionglobenet +HostName bastion.globenet.org +Port 20766 +User yeswikipro +IdentitiesOnly yes +IdentityFile ~/.ssh/id_ed25519 + +Host clicaudrey # ywp-clic-1 audrey +HostName 95.217.202.171 +Port 22 +User optisseur +IdentitiesOnly yes +IdentityFile ~/.ssh/id_ed25519 + +Host ywp-clic-2 +HostName 135.181.128.214 +#Port 42022 +Port 22 +User optisseur +IdentitiesOnly yes +IdentityFile ~/.ssh/id_ed25519 + + +# Chatons YesWiki +Host yeswiki +HostName yunohost.yeswiki.net +Port 6742 +User mrflos +IdentitiesOnly yes +IdentityFile ~/.ssh/id_ed25519 + +# YESWIKI +Host cooptools +User root +HostName ispconfig.coop.tools +Port 22 +IdentitiesOnly yes +IdentityFile ~/.ssh/id_rsa + +# COLIBRIS by server name + +Host nascolibris +HostName 212.114.30.58 +Port 42222 +User backup +UseRoaming no +IdentitiesOnly yes +IdentityFile ~/.ssh/id_ed25519 + +## Avant tchat mattermost / Apres piwigo - peertube - nextcloud - onlyoffice +Host emmagoldman +#HostName 2a01:4f8:190:7302::2 +HostName 144.76.3.3 +Port 22 +User admin +IdentitiesOnly yes +IdentityFile ~/.ssh/id_ed25519 + +## CLIC Yunohost colibox.colibris-outilslibres.org +Host georgesbrassens +HostName 65.21.50.40 +Port 22 +User admin +UseRoaming no +IdentitiesOnly yes +IdentityFile ~/.ssh/id_ed25519 + +## Hebergements web sites colibris - LEMP ispconfig +Host ivanillitch +HostName 95.217.77.254 +Port 4222 +User admin +UseRoaming no +IdentitiesOnly yes +IdentityFile ~/.ssh/id_ed25519 + +## Proxmox outils libres / jitsi - pads - mobilizon +Host leontolstoi +HostName 88.99.209.53 +Port 22 +User root +UseRoaming no +IdentitiesOnly yes +IdentityFile ~/.ssh/id_ed25519 + +## BBB +Host louisemichel +HostName 88.99.95.38 +Port 22 +User root +UseRoaming no +IdentitiesOnly yes +IdentityFile ~/.ssh/id_ed25519 + +## CLIC Yunohost clic-territoires.org interlab.cc +Host mikhailbakunin +HostName 78.46.65.157 +Port 4222 +User admin +IdentityFile ~/.ssh/id_ed25519 +UseRoaming no +IdentitiesOnly yes + +## Colibris.social semapps docker +Host murraybookchin +HostName 65.21.2.239 +Port 4222 +User admin +UseRoaming no +IdentitiesOnly yes +IdentityFile ~/.ssh/id_ed25519 + +## Boutique Colibris - prestashop +Host pierreproudhon +HostName 176.9.59.51 +Port 22 +User admin +IdentityFile ~/.ssh/id_ed25519 + +## Gogocarto +Host rosaluxemburg +HostName 135.181.166.113 +Port 4222 +User admin +IdentityFile ~/.ssh/id_ed25519 +UseRoaming no +IdentitiesOnly yes + + +# COLIBRIS colinames +Host colibbb +HostName 88.99.95.38 +User root +IdentityFile ~/.ssh/id_ed25519 + +Host colitube +HostName video.colibris-outilslibres.org +Port 4222 +User admin +IdentityFile ~/.ssh/id_ed25519 + +Host colipad +HostName pad.colibris-outilslibres.org +Port 4222 +User admin +IdentityFile ~/.ssh/id_ed25519 + +Host colichat +HostName 144.76.3.3 +Port 22001 +User admin +IdentityFile ~/.ssh/id_ed25519 + +Host coliboutique +HostName 176.9.59.51 +Port 22 +User admin +IdentityFile ~/.ssh/id_ed25519 + +Host coliweb +HostName 95.217.77.254 +Port 4222 +User admin +IdentityFile ~/.ssh/id_ed25519 + +Host colicloud +HostName 135.181.166.113 +Port 4222 +User admin +IdentityFile ~/.ssh/id_ed25519 + +Host colicarto +HostName 135.181.166.113 +Port 4222 +User admin +IdentityFile ~/.ssh/id_ed25519 + +Host colihost +HostName postit.colibris-outilslibres.org +Port 22001 +User admin +IdentityFile ~/.ssh/id_ed25519 + +# COLIBRIS +Host CartoDev +User admin +HostName carto-dev.colibris-outilslibres.org +Port 22102 + +Host hebergement +User admin +HostName hebergement.colibris-lemouvement.org +Port 4222 +IdentitiesOnly yes +IdentityFile ~/.ssh/id_ed25519 + +Host colibrisweb +HostName colibris.cc +Port 22 +User admin +IdentitiesOnly yes +IdentityFile ~/.ssh/id_ed25519 + +Host colibrishost +HostName postit.colibris-outilslibres.org +Port 22001 +IdentitiesOnly yes +IdentityFile ~/.ssh/id_ed25519 +User admin + +Host colibrispad +HostName pad.colibris-outilslibres.org +Port 22101 +User admin + +Host colibrispadpostgres +HostName pad.colibris-outilslibres.org +Port 22101 +User postgres + +Host colibrishostweb +HostName 144.76.3.3 +Port 22001 +User admin +IdentitiesOnly yes +IdentityFile ~/.ssh/id_ed25519 + + +# framasoft +Host framagit.org +IdentityFile ~/.ssh/id_ed25519 +User git +Port 22 + +# coopaname yeswiki test +Host coopaname +HostName 85.118.37.83 +User florian +Port 51026 +''; + }; + }; +} +