2023-04-14 20:51:52 +00:00
|
|
|
# Inject the right home-manager config for the machine.
|
|
|
|
|
2023-04-18 11:48:52 +00:00
|
|
|
{ config, pkgs, lib, ... }:
|
2023-12-21 13:02:24 +00:00
|
|
|
let
|
|
|
|
treesitterWithGrammars = (pkgs.vimPlugins.nvim-treesitter.withPlugins (p: [
|
|
|
|
p.bash
|
|
|
|
p.comment
|
|
|
|
p.css
|
|
|
|
p.dockerfile
|
|
|
|
p.fish
|
|
|
|
p.gitattributes
|
|
|
|
p.gitignore
|
|
|
|
p.go
|
|
|
|
p.gomod
|
|
|
|
p.gowork
|
|
|
|
p.hcl
|
|
|
|
p.php
|
|
|
|
p.javascript
|
|
|
|
p.jq
|
|
|
|
p.json5
|
|
|
|
p.json
|
|
|
|
p.lua
|
|
|
|
p.make
|
|
|
|
p.markdown
|
|
|
|
p.nix
|
|
|
|
p.python
|
|
|
|
p.rust
|
|
|
|
p.toml
|
|
|
|
p.typescript
|
|
|
|
p.vue
|
|
|
|
p.yaml
|
|
|
|
]));
|
|
|
|
in
|
|
|
|
{
|
2023-04-18 11:48:52 +00:00
|
|
|
# TODO can we automate the installation of home-manager ?
|
2023-12-03 13:48:32 +00:00
|
|
|
# sudo nix-channel --add https://github.com/nix-community/home-manager/archive/release-23.11.tar.gz home-manager
|
|
|
|
imports = [<home-manager/nixos>];
|
2023-04-18 11:48:52 +00:00
|
|
|
|
|
|
|
# Let Home Manager install and manage itself.
|
|
|
|
#programs.home-manager.enable = true;
|
|
|
|
|
|
|
|
home-manager.users.mrflos = { pkgs, ... }: {
|
2023-11-03 08:09:19 +00:00
|
|
|
home.stateVersion = "23.05";
|
2023-12-21 13:02:24 +00:00
|
|
|
|
|
|
|
home.packages = with pkgs; [
|
|
|
|
gcc
|
|
|
|
cmake
|
|
|
|
ripgrep
|
|
|
|
fd
|
|
|
|
lua-language-server
|
|
|
|
rust-analyzer-unwrapped
|
|
|
|
php83Packages.composer
|
|
|
|
nodejs_20
|
|
|
|
yarn
|
|
|
|
];
|
|
|
|
|
|
|
|
programs.neovim = {
|
|
|
|
enable = true;
|
|
|
|
viAlias = true;
|
|
|
|
vimAlias = true;
|
|
|
|
coc.enable = false;
|
|
|
|
|
|
|
|
plugins = [
|
|
|
|
treesitterWithGrammars
|
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2023-12-22 06:06:23 +00:00
|
|
|
home.file."./.config/kitty/" = {
|
|
|
|
source = ../configs/kitty;
|
|
|
|
recursive = true;
|
|
|
|
};
|
|
|
|
|
2023-12-21 13:02:24 +00:00
|
|
|
home.file."./.config/nvim/" = {
|
|
|
|
source = ../configs/nvim;
|
|
|
|
recursive = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
# Treesitter is configured as a locally developed module in lazy.nvim
|
|
|
|
# we hardcode a symlink here so that we can refer to it in our lazy config
|
|
|
|
home.file."./.local/share/nvim/nix/nvim-treesitter/" = {
|
|
|
|
recursive = true;
|
|
|
|
source = treesitterWithGrammars;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
2023-04-18 11:48:52 +00:00
|
|
|
|
|
|
|
accounts.email.accounts = {
|
|
|
|
"mrflos@chmok.net" = {
|
|
|
|
realName = "Florian Schmitt";
|
|
|
|
userName = "mrflos@chmok.net";
|
|
|
|
address = "mrflos@chmok.net";
|
|
|
|
|
|
|
|
primary = true;
|
|
|
|
thunderbird = {
|
|
|
|
enable = true;
|
|
|
|
};
|
|
|
|
imap = {
|
2023-12-01 06:41:02 +00:00
|
|
|
host = "mail.infomaniak.com";
|
|
|
|
port = 993;
|
2023-04-18 11:48:52 +00:00
|
|
|
};
|
|
|
|
|
2023-06-19 12:52:25 +00:00
|
|
|
smtp = {
|
2023-12-01 06:41:02 +00:00
|
|
|
host = "mail.infomaniak.com";
|
|
|
|
port = 465;
|
2023-06-19 12:52:25 +00:00
|
|
|
};
|
|
|
|
};
|
2023-12-21 10:02:18 +00:00
|
|
|
"mrflos@yeswiki.pro" = {
|
|
|
|
realName = "Florian Schmitt - Yeswiki.pro";
|
|
|
|
userName = "mrflos@yeswiki.pro";
|
|
|
|
address = "mrflos@yeswiki.pro";
|
|
|
|
|
|
|
|
thunderbird = {
|
|
|
|
enable = true;
|
|
|
|
};
|
|
|
|
imap = {
|
|
|
|
host = "mail.infomaniak.com";
|
|
|
|
port = 993;
|
|
|
|
};
|
|
|
|
|
|
|
|
smtp = {
|
|
|
|
host = "mail.infomaniak.com";
|
|
|
|
port = 465;
|
|
|
|
};
|
|
|
|
};
|
2023-11-29 07:17:07 +00:00
|
|
|
"mrflos@mrflos.pw" = {
|
|
|
|
realName = "Florian Schmitt";
|
|
|
|
userName = "mrflos";
|
|
|
|
address = "mrflos@mrflos.pw";
|
|
|
|
|
|
|
|
primary = false;
|
|
|
|
thunderbird = {
|
|
|
|
enable = true;
|
|
|
|
};
|
|
|
|
imap = {
|
|
|
|
host = "mrflos.pw";
|
|
|
|
port = 993;
|
|
|
|
tls.enable = true;
|
|
|
|
tls.useStartTls = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
smtp = {
|
|
|
|
host = "mrflos.pw";
|
|
|
|
port = 587;
|
|
|
|
tls.useStartTls = true;
|
|
|
|
};
|
|
|
|
};
|
2023-06-19 12:52:25 +00:00
|
|
|
"contact@yeswiki.pro" = {
|
|
|
|
realName = "YesWiki.pro";
|
|
|
|
userName = "contact@yeswiki.pro";
|
|
|
|
address = "contact@yeswiki.pro";
|
|
|
|
|
|
|
|
primary = false;
|
|
|
|
thunderbird = {
|
|
|
|
enable = true;
|
|
|
|
};
|
|
|
|
imap = {
|
2023-12-01 06:41:02 +00:00
|
|
|
host = "mail.infomaniak.com";
|
|
|
|
port = 993;
|
2023-06-19 12:52:25 +00:00
|
|
|
};
|
|
|
|
|
2023-04-18 11:48:52 +00:00
|
|
|
smtp = {
|
2023-12-01 06:41:02 +00:00
|
|
|
host = "mail.infomaniak.com";
|
|
|
|
port = 465;
|
2023-04-18 11:48:52 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2023-05-11 14:03:37 +00:00
|
|
|
programs.git = {
|
|
|
|
enable = true;
|
|
|
|
userName = "Florian Schmitt";
|
|
|
|
userEmail = "mrflos@gmail.com";
|
|
|
|
extraConfig = {
|
|
|
|
pull.rebase = true;
|
|
|
|
init.defaultBranch = "main";
|
2023-12-20 19:28:06 +00:00
|
|
|
core.fileMode = false;
|
2023-05-11 14:03:37 +00:00
|
|
|
};
|
|
|
|
};
|
2023-11-03 08:09:19 +00:00
|
|
|
|
2023-04-18 11:48:52 +00:00
|
|
|
programs.thunderbird = {
|
|
|
|
enable = true;
|
|
|
|
profiles.default = {
|
|
|
|
isDefault = true;
|
|
|
|
};
|
|
|
|
};
|
2023-05-11 14:03:37 +00:00
|
|
|
|
|
|
|
|
2023-06-19 12:52:25 +00:00
|
|
|
# gtk = {
|
|
|
|
# enable = true;
|
|
|
|
|
|
|
|
# iconTheme = {
|
|
|
|
# name = "Papirus-Dark";
|
|
|
|
# package = pkgs.papirus-icon-theme;
|
|
|
|
# };
|
|
|
|
|
|
|
|
# theme = {
|
|
|
|
# name = "dracula";
|
|
|
|
# package = pkgs.dracula-theme;
|
|
|
|
# };
|
|
|
|
|
|
|
|
# cursorTheme = {
|
|
|
|
# name = "Numix-Cursor";
|
|
|
|
# package = pkgs.numix-cursor-theme;
|
|
|
|
# };
|
|
|
|
|
|
|
|
# gtk3.extraConfig = {
|
|
|
|
# Settings = ''
|
|
|
|
# gtk-application-prefer-dark-theme=1
|
|
|
|
# '';
|
|
|
|
# };
|
|
|
|
|
|
|
|
# gtk4.extraConfig = {
|
|
|
|
# Settings = ''
|
|
|
|
# gtk-application-prefer-dark-theme=1
|
|
|
|
# '';
|
|
|
|
# };
|
|
|
|
# };
|
|
|
|
|
|
|
|
# dconf.settings = {
|
|
|
|
# "org/gnome/shell" = {
|
|
|
|
# disable-user-extensions = false;
|
|
|
|
# favorite-apps = [
|
|
|
|
# "firefox.desktop"
|
|
|
|
# "thunderbird.desktop"
|
|
|
|
# "org.gnome.Nautilus.desktop"
|
|
|
|
# "kitty.desktop"
|
|
|
|
# "element.desktop"
|
|
|
|
# "mattermost.desktop"
|
|
|
|
# "codium.desktop"
|
|
|
|
# "virt-manager.desktop"
|
|
|
|
# ];
|
|
|
|
# };
|
|
|
|
# "org/gnome/desktop/interface" = {
|
|
|
|
# color-scheme = "prefer-dark";
|
|
|
|
# enable-hot-corners = false;
|
|
|
|
# };
|
|
|
|
# "org/gnome/desktop/wm/preferences" = {
|
|
|
|
# workspace-names = [ "Principal" ];
|
|
|
|
# };
|
|
|
|
# "org/gnome/desktop/background" = {
|
|
|
|
# picture-uri = "file:///run/current-system/sw/share/backgrounds/gnome/vnc-l.png";
|
|
|
|
# picture-uri-dark = "file:///run/current-system/sw/share/backgrounds/gnome/vnc-d.png";
|
|
|
|
# };
|
|
|
|
# "org/gnome/desktop/screensaver" = {
|
|
|
|
# picture-uri = "file:///run/current-system/sw/share/backgrounds/gnome/vnc-d.png";
|
|
|
|
# primary-color = "#3465a4";
|
|
|
|
# secondary-color = "#000000";
|
|
|
|
# };
|
|
|
|
# };
|
|
|
|
# home.packages = with pkgs; [
|
|
|
|
# gnomeExtensions.user-themes
|
|
|
|
# gnomeExtensions.tray-icons-reloaded
|
|
|
|
# gnomeExtensions.vitals
|
|
|
|
# gnomeExtensions.dash-to-panel
|
|
|
|
# gnomeExtensions.sound-output-device-chooser
|
|
|
|
# gnomeExtensions.space-bar
|
|
|
|
# ];
|
|
|
|
# home.sessionVariables.GTK_THEME = "dracula";
|
2023-05-11 14:03:37 +00:00
|
|
|
|
2023-04-18 11:48:52 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
users.users.mrflos = {
|
2023-04-14 20:51:52 +00:00
|
|
|
isNormalUser = true;
|
2023-04-18 11:48:52 +00:00
|
|
|
description = "mrflos";
|
2023-04-14 20:51:52 +00:00
|
|
|
createHome = true;
|
2023-04-18 11:48:52 +00:00
|
|
|
extraGroups = [ "docker" "libvirtd" "lxd" "networkmanager" "wheel" ];
|
2023-04-14 20:51:52 +00:00
|
|
|
uid = 1000;
|
2023-04-18 11:48:52 +00:00
|
|
|
shell = pkgs.zsh;
|
2023-04-14 20:51:52 +00:00
|
|
|
};
|
|
|
|
|
2023-04-18 11:48:52 +00:00
|
|
|
nix.settings.trusted-users = [ "mrflos" ];
|
2023-04-14 20:51:52 +00:00
|
|
|
|
|
|
|
home-manager.useGlobalPkgs = true;
|
|
|
|
}
|