feat : no nvim update notif, password store / refact : home-manager

This commit is contained in:
Florian Schmitt 2023-12-27 11:52:43 +03:00
parent 6bcd5707ba
commit abd6a4cead
2 changed files with 81 additions and 159 deletions

View file

@ -27,7 +27,7 @@ require("lazy").setup({
-- version = "*", -- try installing the latest stable version for plugins that support semver -- version = "*", -- try installing the latest stable version for plugins that support semver
}, },
install = { colorscheme = { "tokyonight", "habamax" } }, install = { colorscheme = { "tokyonight", "habamax" } },
checker = { enabled = true }, -- automatically check for plugin updates checker = { enabled = false }, -- automatically check for plugin updates
performance = { performance = {
rtp = { rtp = {
-- disable some rtp plugins -- disable some rtp plugins

View file

@ -1,5 +1,4 @@
# Inject the right home-manager config for the machine. # Inject the right home-manager config for the machine.
{ config, pkgs, lib, ... }: { config, pkgs, lib, ... }:
let let
treesitterWithGrammars = (pkgs.vimPlugins.nvim-treesitter.withPlugins (p: [ treesitterWithGrammars = (pkgs.vimPlugins.nvim-treesitter.withPlugins (p: [
@ -30,59 +29,58 @@ let
p.vue p.vue
p.yaml p.yaml
])); ]));
in in {
{ # TODO can we automate the installation of home-manager ?
# TODO can we automate the installation of home-manager ? # sudo nix-channel --add https://github.com/nix-community/home-manager/archive/release-23.11.tar.gz home-manager
# sudo nix-channel --add https://github.com/nix-community/home-manager/archive/release-23.11.tar.gz home-manager imports = [ <home-manager/nixos> ];
imports = [<home-manager/nixos>];
# Let Home Manager install and manage itself. # Let Home Manager install and manage itself.
#programs.home-manager.enable = true; #programs.home-manager.enable = true;
home-manager.useGlobalPkgs = true;
users.users.mrflos = {
isNormalUser = true;
description = "mrflos";
createHome = true;
extraGroups = [ "docker" "libvirtd" "lxd" "networkmanager" "wheel" ];
uid = 1000;
shell = pkgs.zsh;
};
nix.settings.trusted-users = [ "mrflos" ];
home-manager.users.mrflos = { pkgs, ... }: { home-manager.users.mrflos = { pkgs, ... }: {
home.stateVersion = "23.05"; home.stateVersion = "23.05";
home.packages = with pkgs; [
home.packages = with pkgs; [ gcc
gcc cmake
cmake ripgrep
ripgrep fd
fd lua-language-server
lua-language-server rust-analyzer-unwrapped
rust-analyzer-unwrapped php83Packages.composer
php83Packages.composer nodejs_20
nodejs_20 yarn
yarn
];
programs.neovim = {
enable = true;
viAlias = true;
vimAlias = true;
coc.enable = false;
plugins = [
treesitterWithGrammars
]; ];
};
home.file."./.config/kitty/" = { home.file = {
source = ../configs/kitty; "./.config/kitty/" = {
recursive = true; source = ../configs/kitty;
}; recursive = true;
};
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;
};
"./.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
"./.local/share/nvim/nix/nvim-treesitter/" = {
recursive = true;
source = treesitterWithGrammars;
};
};
accounts.email.accounts = { accounts.email.accounts = {
"mrflos@chmok.net" = { "mrflos@chmok.net" = {
@ -91,9 +89,7 @@ in
address = "mrflos@chmok.net"; address = "mrflos@chmok.net";
primary = true; primary = true;
thunderbird = { thunderbird = { enable = true; };
enable = true;
};
imap = { imap = {
host = "mail.infomaniak.com"; host = "mail.infomaniak.com";
port = 993; port = 993;
@ -109,9 +105,7 @@ in
userName = "mrflos@yeswiki.pro"; userName = "mrflos@yeswiki.pro";
address = "mrflos@yeswiki.pro"; address = "mrflos@yeswiki.pro";
thunderbird = { thunderbird = { enable = true; };
enable = true;
};
imap = { imap = {
host = "mail.infomaniak.com"; host = "mail.infomaniak.com";
port = 993; port = 993;
@ -128,9 +122,7 @@ in
address = "mrflos@mrflos.pw"; address = "mrflos@mrflos.pw";
primary = false; primary = false;
thunderbird = { thunderbird = { enable = true; };
enable = true;
};
imap = { imap = {
host = "mrflos.pw"; host = "mrflos.pw";
port = 993; port = 993;
@ -150,9 +142,7 @@ in
address = "contact@yeswiki.pro"; address = "contact@yeswiki.pro";
primary = false; primary = false;
thunderbird = { thunderbird = { enable = true; };
enable = true;
};
imap = { imap = {
host = "mail.infomaniak.com"; host = "mail.infomaniak.com";
port = 993; port = 993;
@ -165,109 +155,41 @@ in
}; };
}; };
programs.git = { programs = {
enable = true; git = {
userName = "Florian Schmitt"; enable = true;
userEmail = "mrflos@gmail.com"; userName = "Florian Schmitt";
extraConfig = { userEmail = "mrflos@gmail.com";
pull.rebase = true; extraConfig = {
init.defaultBranch = "main"; pull.rebase = true;
core.fileMode = false; init.defaultBranch = "main";
core.fileMode = false;
};
};
neovim = {
enable = true;
viAlias = true;
vimAlias = true;
coc.enable = false;
plugins = [ treesitterWithGrammars ];
};
password-store = {
enable = true;
package = pkgs.pass.withExtensions (exts: [ exts.pass-otp ]);
settings = {
PASSWORD_STORE_DIR = "$XDG_DATA_HOME/password-store";
PASSWORD_STORE_KEY = "How to Hide This ?";
PASSWORD_STORE_CLIP_TIME = "60";
};
};
thunderbird = {
enable = true;
profiles.default = { isDefault = true; };
}; };
}; };
programs.thunderbird = {
enable = true;
profiles.default = {
isDefault = true;
};
};
# 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";
}; };
users.users.mrflos = {
isNormalUser = true;
description = "mrflos";
createHome = true;
extraGroups = [ "docker" "libvirtd" "lxd" "networkmanager" "wheel" ];
uid = 1000;
shell = pkgs.zsh;
};
nix.settings.trusted-users = [ "mrflos" ];
home-manager.useGlobalPkgs = true;
} }