From abd6a4ceadd80e3699caa3635f67c7b53e894175 Mon Sep 17 00:00:00 2001 From: Florian Schmitt Date: Wed, 27 Dec 2023 11:52:43 +0300 Subject: [PATCH] feat : no nvim update notif, password store / refact : home-manager --- configs/nvim/lua/config/lazy.lua | 2 +- modules/home-config.nix | 238 +++++++++++-------------------- 2 files changed, 81 insertions(+), 159 deletions(-) diff --git a/configs/nvim/lua/config/lazy.lua b/configs/nvim/lua/config/lazy.lua index 75d40a9..f38fd71 100644 --- a/configs/nvim/lua/config/lazy.lua +++ b/configs/nvim/lua/config/lazy.lua @@ -27,7 +27,7 @@ require("lazy").setup({ -- version = "*", -- try installing the latest stable version for plugins that support semver }, install = { colorscheme = { "tokyonight", "habamax" } }, - checker = { enabled = true }, -- automatically check for plugin updates + checker = { enabled = false }, -- automatically check for plugin updates performance = { rtp = { -- disable some rtp plugins diff --git a/modules/home-config.nix b/modules/home-config.nix index e2e5fd4..bc9e580 100644 --- a/modules/home-config.nix +++ b/modules/home-config.nix @@ -1,5 +1,4 @@ # Inject the right home-manager config for the machine. - { config, pkgs, lib, ... }: let treesitterWithGrammars = (pkgs.vimPlugins.nvim-treesitter.withPlugins (p: [ @@ -30,59 +29,58 @@ let p.vue p.yaml ])); -in -{ -# 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 - imports = []; +in { + # 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 + imports = [ ]; # Let Home Manager install and manage itself. #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.stateVersion = "23.05"; - - 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 + home.packages = with pkgs; [ + gcc + cmake + ripgrep + fd + lua-language-server + rust-analyzer-unwrapped + php83Packages.composer + nodejs_20 + yarn ]; - }; - home.file."./.config/kitty/" = { - 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; - }; + home.file = { + "./.config/kitty/" = { + source = ../configs/kitty; + recursive = true; + }; + "./.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 = { "mrflos@chmok.net" = { @@ -91,9 +89,7 @@ in address = "mrflos@chmok.net"; primary = true; - thunderbird = { - enable = true; - }; + thunderbird = { enable = true; }; imap = { host = "mail.infomaniak.com"; port = 993; @@ -109,9 +105,7 @@ in userName = "mrflos@yeswiki.pro"; address = "mrflos@yeswiki.pro"; - thunderbird = { - enable = true; - }; + thunderbird = { enable = true; }; imap = { host = "mail.infomaniak.com"; port = 993; @@ -128,9 +122,7 @@ in address = "mrflos@mrflos.pw"; primary = false; - thunderbird = { - enable = true; - }; + thunderbird = { enable = true; }; imap = { host = "mrflos.pw"; port = 993; @@ -150,9 +142,7 @@ in address = "contact@yeswiki.pro"; primary = false; - thunderbird = { - enable = true; - }; + thunderbird = { enable = true; }; imap = { host = "mail.infomaniak.com"; port = 993; @@ -165,109 +155,41 @@ in }; }; - programs.git = { - enable = true; - userName = "Florian Schmitt"; - userEmail = "mrflos@gmail.com"; - extraConfig = { - pull.rebase = true; - init.defaultBranch = "main"; - core.fileMode = false; + programs = { + git = { + enable = true; + userName = "Florian Schmitt"; + userEmail = "mrflos@gmail.com"; + extraConfig = { + pull.rebase = true; + 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; }