diff --git a/flake.nix b/flake.nix
index 716a179..2f5ee8d 100644
--- a/flake.nix
+++ b/flake.nix
@@ -34,6 +34,7 @@ in {
pkgs.go-task
pkgs.convco
pkgs.typos
+ pkgs.home-manager
];
};
});
@@ -72,11 +73,7 @@ in {
system = "x86_64-linux";
specialArgs = {
inherit stateVersion inputs;
- hostname = "luci";
- username = "ephase";
- hostConfig = {
- desktop = true;
- };
+
};
modules = [
./nixos/default.nix
@@ -99,6 +96,20 @@ in {
./home-manager/default.nix
];
};
+ work = home-manager.lib.homeManagerConfiguration {
+ pkgs = import nixpkgs {
+ system = "x86_64-linux";
+ overlays = [ nixgl.overlay ];
+ };
+ extraSpecialArgs = {
+ inherit stateVersion inputs;
+ hostname = "work";
+ username = "yorick-barbanneau";
+ };
+ modules = [
+ ./home-manager/default.nix
+ ];
+ };
};
};
}
diff --git a/home-manager/default.nix b/home-manager/default.nix
index d3b9cbc..50f33fa 100644
--- a/home-manager/default.nix
+++ b/home-manager/default.nix
@@ -15,5 +15,4 @@
]++ lib.optional (
builtins.pathExists ../hosts/${hostname}/includes/home-manager.nix
) ../hosts/${hostname}/includes/home-manager.nix;
-
}
diff --git a/hosts/work/home-config.nix b/hosts/work/home-config.nix
new file mode 100644
index 0000000..6059fb3
--- /dev/null
+++ b/hosts/work/home-config.nix
@@ -0,0 +1,26 @@
+{ ... }: {
+ config.modules = {
+ application = {
+ zathura.enable = true;
+ foot.enable = true;
+ };
+ audio.cmus.enable = true;
+ cli = {
+ direnv.enable = true;
+ ghq.enable = true;
+ git = {
+ enable = true;
+ userEmail = "ybarbanneau@sellsy.com";
+ };
+ neovim.enable = true;
+ starship.enable = true;
+ utils.enable = true;
+ vifm.enable = true;
+ zsh.enable = true;
+ };
+ web.firefox = {
+ enable = true;
+ enableNixGL = true;
+ };
+ };
+}
diff --git a/hosts/work/includes/home-manager.nix b/hosts/work/includes/home-manager.nix
new file mode 100644
index 0000000..b8cd4e4
--- /dev/null
+++ b/hosts/work/includes/home-manager.nix
@@ -0,0 +1,22 @@
+{ pkgs, ... }:
+{
+ home.packages = with pkgs; [
+ dejavu_fonts
+ font-awesome
+ lato
+ liberation_ttf
+ libertine
+ libnotify
+ (nerdfonts.override {
+ fonts = [
+ "FiraCode"
+ ];
+ })
+ noto-fonts-emoji
+ noto-fonts-cjk
+ slurp
+ wl-clipboard
+ ];
+ targets.genericLinux.enable = true;
+ xdg.mime.enable = true;
+}
diff --git a/modules/home-manager/audio/cmus/files/notify.sh b/modules/home-manager/audio/cmus/files/notify.sh
index d11fbff..dfc62db 100755
--- a/modules/home-manager/audio/cmus/files/notify.sh
+++ b/modules/home-manager/audio/cmus/files/notify.sh
@@ -9,36 +9,59 @@ process_args() {
done
}
-main() {
- filename=${file#*/}
- image=${file%/*}/cover.jpg
- [ -f "$image" ] && options="$options -i \"${image}\""
+#
+escape(){
+ local string
+ string=$1
+ string=${string//"<"/"<"}
+ string=${string//">"/">"}
+ string=${string//"&"/"&"}
+ printf "%s" "$string"
+}
+
+main() {
+ options=( --app-name=cmus --transient -u low)
+
+ filename=${file##*/}
+ image=${file%/*}/cover.jpg
+
+ if [[ -f "$image" ]]; then
+ options+=( -i "${image}" )
+ fi
+
+ ## Get title or filename
title=${title:-$filename}
if [[ ${#title} -gt 25 ]]; then
title="${title:0:24}…"
fi
+ title="$title"
if [ -n "$artist" ]
then
if [[ ${#artist} -gt 22 ]]; then
- artist="by ${artist:0:21}…"
- fi
- fi
-
- if [ -n "$album" ]
- then
- if [[ ${#album} -gt 19 ]]; then
- album="${album:0:18}…"
+ artist="${artist:0:21}…"
fi
+ printf -v l_artist "by %s" "$(escape "$artist")"
fi
if [ -n "$date" ]
then
date="${date%%-*}"
fi
- printf -v body "%s\n%-19s %s" "${artist:-}" "${album:-}" "${date:-}"
- notify-send --app-name=cmus -i "$image" "$title" "$body"
+
+ # Get Album
+ if [ -n "$album" ]
+ then
+ if [[ ${#album} -gt 19 ]]; then
+ album="${album:0:19}…"
+ fi
+ printf -v l_album "on %-20s %s" "$(escape "$album")" "${date:-}"
+ fi
+
+ printf -v l_intro "cmus:%s" "$(escape "$status")"
+ printf -v body "%s\n" "${l_intro:-}" "${title:-}" "${l_artist:-}" "${l_album:-}"
+ notify-send "${options[@]}" "unseless" "$body"
}
process_args "$@"
diff --git a/modules/home-manager/audio/cmus/files/rc b/modules/home-manager/audio/cmus/files/rc
index ea71c79..2c30746 100644
--- a/modules/home-manager/audio/cmus/files/rc
+++ b/modules/home-manager/audio/cmus/files/rc
@@ -52,5 +52,5 @@ set color_win_inactive_sel_fg=20
set color_win_dir=default
set status_display_program=~/.config/cmus/notify.sh
-
+set format_current= %{?stream??} %t %{?a?by %a} %{?l?on %l}%= %y
add -l ~/medias/music
diff --git a/modules/home-manager/cli/neovim/default.nix b/modules/home-manager/cli/neovim/default.nix
index 998b326..19d8962 100644
--- a/modules/home-manager/cli/neovim/default.nix
+++ b/modules/home-manager/cli/neovim/default.nix
@@ -28,13 +28,17 @@ in
# LSP Servers
clang-tools
hadolint
+ helm-ls
lua-language-server
marksman
nil
nodePackages.bash-language-server
python3Packages.python-lsp-server
shellcheck
- # yaml-language-server
+
+ terraform-lsp
+ tflint
+ yaml-language-server
# Formatters
nixfmt-rfc-style
@@ -115,12 +119,15 @@ in
p.cpp
p.cmake
p.dockerfile
+ p.hcl
+ p.helm
p.latex
p.lua
p.llvm
p.markdown
p.markdown_inline
p.python
+ p.terraform
p.vim
p.yaml
])
@@ -158,6 +165,7 @@ in
type = "lua";
config = ( builtins.readFile ./files/whichkey.lua );
}
+ vim-helm
];
};
};
diff --git a/modules/home-manager/cli/neovim/files/lspconfig.lua b/modules/home-manager/cli/neovim/files/lspconfig.lua
index 6ddfddf..84fb126 100644
--- a/modules/home-manager/cli/neovim/files/lspconfig.lua
+++ b/modules/home-manager/cli/neovim/files/lspconfig.lua
@@ -2,6 +2,21 @@ local lspconfig = require('lspconfig')
lspconfig.bashls.setup {}
lspconfig.clangd.setup {}
+lspconfig.helm_ls.setup{
+ settings = {
+ ['helm-ls'] = {
+ logLevel = "info",
+ valuesFiles = {
+ mainValuesFile = "values.yaml",
+ lintOverlayValuesFile = "values.lint.yaml",
+ additionalValuesFilesGlobPattern = "values*.yaml"
+ }
+ },
+ yamlls = {
+ enabled = false,
+ }
+ }
+}
lspconfig.lua_ls.setup {
single_file_support = true,
flags = {
@@ -14,14 +29,25 @@ lspconfig.pylsp.setup {
settings = {
pylsp = {
plugins = {
- pylint = {
+ pylint = {
enabled = true
}
}
}
}
}
-lspconfig.yamlls.setup{}
+lspconfig.terraformls.setup{}
+lspconfig.tflint.setup{}
+lspconfig.yamlls.setup{
+ settings = {
+ yaml = {
+ schemas = {
+ ["https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.30.0/all.json"] = {"k8s/**/*.yaml", "cluster/**/*.yaml",},
+ ["https://taskfile.dev/schema.json"] = {"**/Taskfile.*", "**/taskfile.*",},
+ },
+ },
+ },
+}
vim.api.nvim_create_autocmd('LspAttach', {
desc = 'LSP actions',
diff --git a/modules/home-manager/desktop/sway/includes/mako.nix b/modules/home-manager/desktop/sway/includes/mako.nix
index 81ddf7e..7f4de74 100644
--- a/modules/home-manager/desktop/sway/includes/mako.nix
+++ b/modules/home-manager/desktop/sway/includes/mako.nix
@@ -26,6 +26,7 @@ with lib;
maxIconSize = 64;
layer = "overlay";
anchor = "top-right";
+ format = ''%a\n%s\n%b'';
extraConfig = ''
[urgency="high"]
border-color=#F268b3
@@ -34,9 +35,10 @@ with lib;
border-size=1
default-timeout=7000
group-by=app-name
+ format=%b
[app-name="cmus" grouped]
- format=%s\n%b
+ format=%b
'';
};
};