diff options
Diffstat (limited to 'profiles/station')
| -rw-r--r-- | profiles/station/codeium.nix | 24 | ||||
| -rw-r--r-- | profiles/station/kak-lsp.toml | 428 | ||||
| -rw-r--r-- | profiles/station/kakoune.nix | 33 | ||||
| -rw-r--r-- | profiles/station/meta.nix | 4 | ||||
| -rw-r--r-- | profiles/station/mpv.nix | 2 | ||||
| -rw-r--r-- | profiles/station/neovim.nix | 166 | ||||
| -rw-r--r-- | profiles/station/newsboat.nix | 50 | ||||
| -rw-r--r-- | profiles/station/packages.nix | 17 | ||||
| -rw-r--r-- | profiles/station/suckless.nix | 108 | ||||
| -rw-r--r-- | profiles/station/zathura.nix | 8 |
10 files changed, 196 insertions, 644 deletions
diff --git a/profiles/station/codeium.nix b/profiles/station/codeium.nix index f3841b3..f63a9b3 100644 --- a/profiles/station/codeium.nix +++ b/profiles/station/codeium.nix @@ -43,16 +43,16 @@ }; }; in { - home.activation = { - # links codeium into place - codium-symlink = inputs.home-manager.lib.hm.dag.entryAfter ["writeBoundary"] '' - CODEIUM_TARGET="${config.home.homeDirectory}/.codeium/bin/c8fda9657259bb7f3d432c1b558db921db4257aa" - if [ -L $CODEIUM_TARGET ] && [ -e $CODEIUM_TARGET ]; then - $DRY_RUN_CMD echo "codeium linked" - else - mkdir -p $CODEIUM_TARGET - $DRY_RUN_CMD ln -sf ${codeium} "$CODEIUM_TARGET/language_server_linux_x64" - fi - ''; - }; + # home.activation = { + # # links codeium into place + # codium-symlink = inputs.home-manager.lib.hm.dag.entryAfter ["writeBoundary"] '' + # CODEIUM_TARGET="${config.home.homeDirectory}/.codeium/bin/c8fda9657259bb7f3d432c1b558db921db4257aa" + # if [ -L $CODEIUM_TARGET ] && [ -e $CODEIUM_TARGET ]; then + # $DRY_RUN_CMD echo "codeium linked" + # else + # mkdir -p $CODEIUM_TARGET + # $DRY_RUN_CMD ln -sf ${codeium} "$CODEIUM_TARGET/language_server_linux_x64" + # fi + # ''; + # }; } diff --git a/profiles/station/kak-lsp.toml b/profiles/station/kak-lsp.toml deleted file mode 100644 index b0592cf..0000000 --- a/profiles/station/kak-lsp.toml +++ /dev/null @@ -1,428 +0,0 @@ -snippet_support = true -verbosity = 2 - -[server] -# exit session if no requests were received during given period in seconds -# set to 0 to disable -timeout = 1800 # seconds = 30 minutes - -[language.bash] -filetypes = ["sh"] -roots = [".git", ".hg"] -command = "bash-language-server" -args = ["start"] - -[language.c_cpp] -filetypes = ["c", "cpp"] -roots = ["compile_commands.json", ".clangd", ".git", ".hg"] -command = "clangd" - -[language.clojure] -filetypes = ["clojure"] -roots = ["project.clj", ".git", ".hg"] -command = "clojure-lsp" -settings_section = "_" -[language.clojure.settings._] -# See https://clojure-lsp.io/settings/#all-settings -# source-paths-ignore-regex = ["resources.*", "target.*"] - -[language.cmake] -filetypes = ["cmake"] -roots = ["CMakeLists.txt", ".git", ".hg"] -command = "cmake-language-server" - -[language.crystal] -filetypes = ["crystal"] -roots = ["shard.yml"] -command = "crystalline" - -[language.css] -filetypes = ["css"] -roots = ["package.json", ".git", ".hg"] -command = "vscode-css-languageserver" -args = ["--stdio"] - -[language.less] -filetypes = ["less"] -roots = ["package.json", ".git", ".hg"] -command = "vscode-css-languageserver" -args = ["--stdio"] - -[language.scss] -filetypes = ["scss"] -roots = ["package.json", ".git", ".hg"] -command = "vscode-css-languageserver" -args = ["--stdio"] - -[language.d] -filetypes = ["d", "di"] -roots = [".git", "dub.sdl", "dub.json"] -command = "dls" - -[language.dart] -# start shell to find path to dart analysis server source -filetypes = ["dart"] -roots = ["pubspec.yaml", ".git", ".hg"] -command = "sh" -args = ["-c", "dart $(dirname $(command -v dart))/snapshots/analysis_server.dart.snapshot --lsp"] - -[language.elixir] -filetypes = ["elixir"] -roots = ["mix.exs"] -command = "elixir-ls" -settings_section = "elixirLS" -[language.elixir.settings.elixirLS] -# See https://github.com/elixir-lsp/elixir-ls/blob/master/apps/language_server/lib/language_server/server.ex -# dialyzerEnable = true - -[language.elm] -filetypes = ["elm"] -roots = ["elm.json"] -command = "elm-language-server" -args = ["--stdio"] -settings_section = "elmLS" -[language.elm.settings.elmLS] -# See https://github.com/elm-tooling/elm-language-server#server-settings -runtime = "node" -elmPath = "elm" -elmFormatPath = "elm-format" -elmTestPath = "elm-test" - -[language.elvish] -filetypes = ["elvish"] -roots = [".git", ".hg"] -command = "elvish" -args = ["-lsp"] - -[language.erlang] -filetypes = ["erlang"] -# See https://github.com/erlang-ls/erlang_ls.git for more information and -# how to configure. This default config should work in most cases though. -roots = ["rebar.config", "erlang.mk", ".git", ".hg"] -command = "erlang_ls" - -[language.go] -filetypes = ["go"] -roots = ["Gopkg.toml", "go.mod", ".git", ".hg"] -command = "gopls" -settings_section = "gopls" -[language.go.settings.gopls] -# See https://github.com/golang/tools/blob/master/gopls/doc/settings.md -# "build.buildFlags" = [] - -[language.haskell] -filetypes = ["haskell"] -roots = ["hie.yaml", "cabal.project", "Setup.hs", "stack.yaml", "*.cabal"] -command = "haskell-language-server-wrapper" -args = ["--lsp"] -settings_section = "_" -[language.haskell.settings._] -# See https://haskell-language-server.readthedocs.io/en/latest/configuration.html -# haskell.formattingProvider = "ormolu" - -[language.html] -filetypes = ["html"] -roots = ["package.json"] -command = "vscode-html-languageserver" -args = ["--stdio"] - -# # Commented out by default because you still need to set the paths in the JDT -# # Language Server arguments below before this can become a valid configuration. -# [language.java] -# filetypes = ["java"] -# roots = [".git", "mvnw", "gradlew"] -# command = "java" -# args = [ -# "-Declipse.application=org.eclipse.jdt.ls.core.id1", -# "-Dosgi.bundles.defaultStartLevel=4", -# "-Declipse.product=org.eclipse.jdt.ls.core.product", -# "-Dlog.level=ALL", -# "-Dfile.encoding=utf-8", -# "--add-modules=ALL-SYSTEM", -# "--add-opens", -# "java.base/java.util=ALL-UNNAMED", -# "--add-opens", -# "java.base/java.lang=ALL-UNNAMED", -# "-noverify", -# "-Xmx1G", -# "-jar", -# "/path/to/eclipse.jdt.ls/repository/plugins/org.eclipse.equinox.launcher_1.6.100.v20201223-0822.jar", -# "-configuration", -# "/path/to/eclipse.jdt.ls/repository/config_linux", -# "-data", -# "/path/to/eclipse-workspace", -# ] -# [language.java.settings] -# # See https://github.dev/eclipse/eclipse.jdt.ls -# # "java.format.insertSpaces" = true - -[language.jsx] # works for javascript as well -filetypes = ["javascript"] -roots = ["package.json", "tsconfig.json", ".git", ".hg"] -command = "typescript-language-server" -args = ["--stdio"] - -[language.json] -filetypes = ["json"] -roots = ["package.json"] -command = "vscode-json-languageserver" -args = ["--stdio"] - -# Requires Julia package "LanguageServer" -# Run: `julia --project=@kak-lsp -e 'import Pkg; Pkg.add("LanguageServer")'` to install it -# Configuration adapted from https://github.com/neovim/nvim-lspconfig/blob/bcebfac7429cd8234960197dca8de1767f3ef5d3/lua/lspconfig/julials.lua -[language.julia] -filetypes = ["julia"] -roots = ["Project.toml", ".git", ".hg"] -command = "julia" -args = [ - "--startup-file=no", - "--history-file=no", - "-e", - """ - ls_install_path = joinpath(get(DEPOT_PATH, 1, joinpath(homedir(), ".julia")), "environments", "kak-lsp"); - pushfirst!(LOAD_PATH, ls_install_path); - using LanguageServer; - popfirst!(LOAD_PATH); - depot_path = get(ENV, "JULIA_DEPOT_PATH", ""); - buffer_file = ENV["kak_buffile"]; - project_path = let - dirname(something( - # 1. Check if there is an explicitly set project - Base.load_path_expand(( - p = get(ENV, "JULIA_PROJECT", nothing); - p === nothing ? nothing : isempty(p) ? nothing : p - )), - # 2. Check for Project.toml in current working directory - Base.current_project(pwd()), - # 3. Check for Project.toml from buffer's full file path excluding the file name - Base.current_project(dirname(buffer_file)), - # 4. Fallback to global environment - Base.active_project() - )) - end - server = LanguageServer.LanguageServerInstance(stdin, stdout, project_path, depot_path); - server.runlinter = true; - run(server); - """, -] -[language.julia.settings] -# See https://github.com/julia-vscode/LanguageServer.jl/blob/master/src/requests/workspace.jl -# Format options. See https://github.com/julia-vscode/DocumentFormat.jl/blob/master/src/DocumentFormat.jl -# "julia.format.indent" = 4 -# Lint options. See https://github.com/julia-vscode/StaticLint.jl/blob/master/src/linting/checks.jl -# "julia.lint.call" = true -# Other options, see https://github.com/julia-vscode/LanguageServer.jl/blob/master/src/requests/workspace.jl -# "julia.lint.run" = "true" - -[language.latex] -filetypes = ["latex"] -roots = [".git", ".hg"] -command = "texlab" -settings_section = "texlab" -[language.latex.settings.texlab] -# See https://github.com/latex-lsp/texlab/wiki/Configuration -# -# Preview configuration for zathura with SyncTeX search. -# For other PDF viewers see https://github.com/latex-lsp/texlab/wiki/Previewing -forwardSearch.executable = "zathura" -forwardSearch.args = [ - "%p", - "--synctex-forward", # Support texlab-forward-search - "%l:1:%f", - "--synctex-editor-command", # Inverse search: use Control+Left-Mouse-Button to jump to source. - """ - sh -c ' - echo " - evaluate-commands -client %opt{texlab_client} %{ - evaluate-commands -try-client %opt{jumpclient} %{ - edit -- %{input} %{line} - } - } - " | kak -p $kak_session - ' - """, -] - -[language.lua] -filetypes = ["lua"] -roots = [".git", ".hg"] -command = "lua-language-server" -[language.lua.settings.Lua] -# See https://github.com/sumneko/vscode-lua/blob/master/setting/schema.json -# diagnostics.enable = true - -[language.nim] -filetypes = ["nim"] -roots = ["*.nimble", ".git", ".hg"] -command = "nimlsp" - -[language.nix] -filetypes = ["nix"] -roots = ["flake.nix", "shell.nix", ".git", ".hg"] -command = "rnix-lsp" - -[language.ocaml] -filetypes = ["ocaml"] -# Often useful to simply do a `touch dune-workspace` in your project root folder if you have problems with root detection -roots = ["dune-workspace", "dune-project", "Makefile", "opam", "*.opam", "esy.json", ".git", ".hg", "dune"] -command = "ocamllsp" - -[language.php] -filetypes = ["php"] -roots = [".htaccess", "composer.json"] -command = "intelephense" -args = ["--stdio"] -settings_section = "intelephense" -[language.php.settings] -intelephense.storagePath = "/tmp/intelephense" - -[language.proto] -filetypes = ["protobuf"] -roots = [".git", ".hg"] -command = "pls" # https://github.com/lasorda/protobuf-language-server - -[language.python] -filetypes = ["python"] -roots = ["requirements.txt", "setup.py", ".git", ".hg"] -command = "pyright-langserver" -args = ["--stdio"] -settings_section = "_" -[language.python.settings.python.analysis] -autoSearchPaths = true -diagnosticMode = "workspace" -useLibraryCodeForTypes = true - - -[language.r] -filetypes = ["r"] -roots = ["DESCRIPTION", ".git", ".hg"] -command = "R" -args = ["--slave", "-e", "languageserver::run()"] - -[language.racket] -filetypes = ["racket"] -roots = ["info.rkt"] -command = "racket" -args = ["-l", "racket-langserver"] - -[language.reason] -filetypes = ["reason"] -roots = ["package.json", "Makefile", ".git", ".hg"] -command = "ocamllsp" - -[language.ruby] -filetypes = ["ruby"] -roots = ["Gemfile"] -command = "solargraph" -args = ["stdio"] -settings_section = "_" -[language.ruby.settings._] -# See https://github.com/castwide/solargraph/blob/master/lib/solargraph/language_server/host.rb -# diagnostics = false - -# [language.rust] -# filetypes = ["rust"] -# roots = ["Cargo.toml"] -# command = "sh" -# args = [ -# "-c", -# """ -# if path=$(rustup which rls 2>/dev/null); then -# "$path" -# else -# rls -# fi -# """, -# ] -# [language.rust.settings.rust] -# # See https://github.com/rust-lang/rls#configuration -# # features = [] - -[language.rust] -filetypes = ["rust"] -roots = ["Cargo.toml"] -command = "sh" -args = [ - "-c", - """ - if path=$(rustup which rust-analyzer 2>/dev/null); then - "$path" - else - rust-analyzer - fi - """, -] -settings_section = "rust-analyzer" -[language.rust.settings.rust-analyzer] -# See https://rust-analyzer.github.io/manual.html#configuration -hoverActions.enable = false # kak-lsp doesn't support this at the moment -# cargo.features = [] - -[language.terraform] -filetypes = ["terraform"] -roots = ["*.tf"] -command = "terraform-ls" -args = ["serve"] -[language.terraform.settings.terraform-ls] -# See https://github.com/hashicorp/terraform-ls/blob/main/docs/SETTINGS.md -# rootModulePaths = [] - -[language.tsx] # works for typescript as well -filetypes = ["typescript"] -roots = ["package.json", "tsconfig.json", ".git", ".hg"] -command = "typescript-language-server" -args = ["--stdio"] - -# [language.typescript] -# filetypes = ["typescript"] -# roots = ["package.json", "tsconfig.json", ".git", ".hg"] -# command = "deno" -# args = ["lsp"] -# [language.typescript.settings.deno] -# enable = true -# lint = true - -[language.yaml] -filetypes = ["yaml"] -roots = [".git", ".hg"] -command = "yaml-language-server" -args = ["--stdio"] -[language.yaml.settings] -# See https://github.com/redhat-developer/yaml-language-server#language-server-settings -# Defaults are at https://github.com/redhat-developer/yaml-language-server/blob/master/src/yamlSettings.ts -# yaml.format.enable = true - -[language.zig] -filetypes = ["zig"] -roots = ["build.zig"] -command = "zls" - -[language.cs] -filetypes = ["cs"] -roots = [".git"] -command = "OmniSharp" -args = ["--encoding", "utf-8", "-z", "--languageserver", "DotNet:enablePackageRestore=false", "FormattingOptions:EnableEditorConfigSupport=true", "Sdk:IncludePrereleases=true"] - -# Semantic tokens support -# See https://microsoft.github.io/language-server-protocol/specifications/specification-current/#textDocument_semanticTokens -# for the default list of tokens and modifiers. -# However, many language servers implement their own values. -# Make sure to check the output of `lsp-capabilities` and each server's documentation and source code as well. -# Examples: -# - TypeScript: https://github.com/microsoft/vscode-languageserver-node/blob/main/client/src/common/semanticTokens.ts -# - Rust Analyzer: https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ide/src/syntax_highlighting.rs -[semantic_tokens] -faces = [ - {face="documentation", token="comment", modifiers=["documentation"]}, - {face="comment", token="comment"}, - {face="function", token="function"}, - {face="keyword", token="keyword"}, - {face="module", token="namespace"}, - {face="operator", token="operator"}, - {face="string", token="string"}, - {face="type", token="type"}, - {face="default+d", token="variable", modifiers=["readonly"]}, - {face="default+d", token="variable", modifiers=["constant"]}, - {face="variable", token="variable"}, -] diff --git a/profiles/station/kakoune.nix b/profiles/station/kakoune.nix index 41caf9f..010e4c4 100644 --- a/profiles/station/kakoune.nix +++ b/profiles/station/kakoune.nix @@ -6,30 +6,13 @@ ... }: let - kakouneWithPlugins = pkgs.wrapKakoune pkgs.kakoune-unwrapped { configure = { plugins = with pkgs.kakounePlugins; [kak-lsp parinfer-rust]; }; }; + kakouneWithPlugins = pkgs.wrapKakoune pkgs.kakoune-unwrapped { + configure = { + plugins = with pkgs.kakounePlugins; [kak-lsp parinfer-rust]; + }; + }; in { - home.packages = [kakouneWithPlugins]; - home.activation = { - kakoune-symlink = inputs.home-manager.lib.hm.dag.entryAfter ["writeBoundary"] '' - KAK_CONFIG="${config.home.homeDirectory}/kakoune" - XDG_CONFIG_HOME_KAK="${config.xdg.configHome}/kak" - if [ -L $XDG_CONFIG_HOME_KAK ] && [ -e $XDG_CONFIG_HOME_KAK ]; then - $DRY_RUN_CMD echo "kakoune linked" - else - $DRY_RUN_CMD ln -s $KAK_CONFIG $XDG_CONFIG_HOME_KAK - fi - rm -rf $XDG_CONFIG_HOME_KAK/autoload/default - ln -sf ${kakouneWithPlugins}/share/kak/autoload $XDG_CONFIG_HOME_KAK/autoload/default - ''; - }; - home.file."${config.xdg.configHome}/kak-lsp/kak-lsp.toml" = { - source = ./kak-lsp.toml; - }; - - #set global windowing_modules "" - #require-module tmux - #require-module tmux-repl - #alias global terminal tmux-terminal-vertical - #alias global sp new - + hm = { + home.packages = [kakouneWithPlugins]; + }; } diff --git a/profiles/station/meta.nix b/profiles/station/meta.nix index e6f3a78..3f1d334 100644 --- a/profiles/station/meta.nix +++ b/profiles/station/meta.nix @@ -1,8 +1,8 @@ {inputs,lib,config, ...}: with lib; { lib.meta = { - configPath = "${config.home.homeDirectory}/flake"; + configPath = "${config.users.users.mike.home}/flake"; mkMutableSymlink = path: - config.lib.file.mkOutOfStoreSymlink + config.hm.lib.file.mkOutOfStoreSymlink (config.lib.meta.configPath + removePrefix (toString inputs.self) (toString path)); }; } diff --git a/profiles/station/mpv.nix b/profiles/station/mpv.nix index 1b673ab..b5a9fce 100644 --- a/profiles/station/mpv.nix +++ b/profiles/station/mpv.nix @@ -5,6 +5,7 @@ pkgs, ... }: { + hm = { programs.mpv = { enable = true; scripts = [ @@ -44,4 +45,5 @@ S="cycle sub"; }; }; + }; } diff --git a/profiles/station/neovim.nix b/profiles/station/neovim.nix index 8957c89..afe85dd 100644 --- a/profiles/station/neovim.nix +++ b/profiles/station/neovim.nix @@ -4,101 +4,93 @@ pkgs, ... }: { - home.activation = { - # fixes hotpot cannot be found error after updates - clearHotpotCache = inputs.home-manager.lib.hm.dag.entryAfter ["writeBoundary"] '' - HOTPOT_CACHE="${config.xdg.cacheHome}/nvim/hotpot" - if [[ -d "$HOTPOT_CACHE" ]]; then - $DRY_RUN_CMD rm -rf "$VERBOSE_ARG" "$HOTPOT_CACHE" - fi - ''; - }; - - xdg = { - configFile = with config.lib.meta; { - "nvim".source = mkMutableSymlink ../neovim; + hm = { + xdg = { + configFile = with config.lib.meta; { + "nvim".source = mkMutableSymlink ../neovim; + }; }; - }; - editorconfig = { - enable = true; - settings = { - "*" = { - trim_trailing_whitespace = true; - insert_final_newline = true; - }; - "*.yaml" = { - indent_style = "space"; - indent_size = 2; + editorconfig = { + enable = true; + settings = { + "*" = { + trim_trailing_whitespace = true; + insert_final_newline = true; + }; + "*.yaml" = { + indent_style = "space"; + indent_size = 2; + }; }; }; - }; - programs.neovim = { - enable = true; - package = pkgs.neovim-unwrapped; - viAlias = true; - vimAlias = true; - extraPackages = with pkgs; [ - bashInteractive - sumneko-lua-language-server - pyright - gopls - fennel - fnlfmt - alejandra - statix - ]; - plugins = with pkgs.vimPlugins; [ - # highlighting - nvim-treesitter.withAllGrammars - nvim-treesitter-context - playground - gruvbox-material - kanagawa-nvim - lsp_lines-nvim - heirline-nvim - gitsigns-nvim - noice-nvim - nui-nvim - vim-helm + programs.neovim = { + enable = true; + package = pkgs.neovim-unwrapped; + viAlias = true; + vimAlias = true; + extraPackages = with pkgs; [ + bashInteractive + sumneko-lua-language-server + pyright + gopls + fennel + fnlfmt + alejandra + statix + ]; + plugins = with pkgs.vimPlugins; [ + # highlighting + nvim-treesitter.withAllGrammars + nvim-treesitter-context + playground + gruvbox-material + kanagawa-nvim + lsp_lines-nvim + heirline-nvim + gitsigns-nvim + noice-nvim + nui-nvim + vim-helm - # external - git-worktree-nvim - vim-dirvish - vim-fugitive - vim-dispatch - vim-oscyank - venn-nvim - gv-vim + # external + git-worktree-nvim + vim-dirvish + vim-fugitive + vim-dispatch + vim-oscyank + venn-nvim + gv-vim - # Coding - plenary-nvim - telescope-nvim - nvim-lspconfig - null-ls-nvim - lsp_signature-nvim - omnisharp-extended-lsp-nvim - nvim-dap - nvim-dap-ui - luasnip - vim-test - vim-rest-console - harpoon + # Coding + plenary-nvim + telescope-nvim + nvim-lspconfig + null-ls-nvim + lsp_signature-nvim + omnisharp-extended-lsp-nvim + nvim-dap + nvim-dap-ui + luasnip + vim-test + vim-rest-console + harpoon - # cmp - nvim-cmp - cmp-cmdline - cmp-nvim-lsp - cmp-buffer - cmp-path - cmp_luasnip + # cmp + nvim-cmp + cmp-cmdline + cmp-nvim-lsp + cmp-buffer + cmp-path + cmp_luasnip - # trying out lisp - conjure - vim-racket - nvim-parinfer - hotpot-nvim - ]; + # trying out lisp + conjure + vim-racket + nvim-parinfer + hotpot-nvim + ]; + }; }; } diff --git a/profiles/station/newsboat.nix b/profiles/station/newsboat.nix index fc47060..e9ae445 100644 --- a/profiles/station/newsboat.nix +++ b/profiles/station/newsboat.nix @@ -1,28 +1,29 @@ {...}: { - programs.newsboat = { - enable = true; - autoReload = true; - urls = [ - {url = "https://github.com/neovim/neovim/releases.atom";} - {url = "https://github.com/rancher/rancher/releases.atom";} - {url = "https://github.com/istio/istio/releases.atom";} - {url = "https://github.com/argoproj/argo-cd/releases.atom";} - {url = "https://github.com/argoproj/argo-cd/releases.atom";} - {url = "https://github.com/kyverno/kyverno/releases.atom";} - {url = "https://github.com/hashicorp/terraform/releases.atom";} - {url = "https://github.com/ansible/ansible/releases.atom";} - {url = "https://github.com/ansible/awx/releases.atom";} - {url = "https://kubeshark.co/rss.xml";} - {url = "https://azurecomcdn.azureedge.net/en-us/updates/feed/?product=azure-devops";} - {url = "https://www.hashicorp.com/blog/categories/products-technology/feed.xml";} - {url = "https://kubernetes.io/feed.xml";} - {url = "https://www.cncf.io/rss";} - {url = "https://blog.alexellis.io/rss/";} - {url = "https://www.openfaas.com/feed";} - {url = "https://istio.io/latest/blog/feed.xml";} - {url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCUyeluBRhGPCW4rPe_UvBZQ";} - ]; - extraConfig = '' + hm = { + programs.newsboat = { + enable = true; + autoReload = true; + urls = [ + {url = "https://github.com/neovim/neovim/releases.atom";} + {url = "https://github.com/rancher/rancher/releases.atom";} + {url = "https://github.com/istio/istio/releases.atom";} + {url = "https://github.com/argoproj/argo-cd/releases.atom";} + {url = "https://github.com/argoproj/argo-cd/releases.atom";} + {url = "https://github.com/kyverno/kyverno/releases.atom";} + {url = "https://github.com/hashicorp/terraform/releases.atom";} + {url = "https://github.com/ansible/ansible/releases.atom";} + {url = "https://github.com/ansible/awx/releases.atom";} + {url = "https://kubeshark.co/rss.xml";} + {url = "https://azurecomcdn.azureedge.net/en-us/updates/feed/?product=azure-devops";} + {url = "https://www.hashicorp.com/blog/categories/products-technology/feed.xml";} + {url = "https://kubernetes.io/feed.xml";} + {url = "https://www.cncf.io/rss";} + {url = "https://blog.alexellis.io/rss/";} + {url = "https://www.openfaas.com/feed";} + {url = "https://istio.io/latest/blog/feed.xml";} + {url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCUyeluBRhGPCW4rPe_UvBZQ";} + ]; + extraConfig = '' #show-read-feeds no auto-reload yes @@ -79,5 +80,6 @@ highlight article ":.*\\(image\\)$" blue default highlight article ":.*\\(embedded flash\\)$" magenta default ''; + }; }; } diff --git a/profiles/station/packages.nix b/profiles/station/packages.nix index 02c5b8e..19e7ad1 100644 --- a/profiles/station/packages.nix +++ b/profiles/station/packages.nix @@ -2,7 +2,6 @@ flake, config, pkgs, - username, ... }: let core-packages = with pkgs; @@ -65,8 +64,7 @@ sxiv nushell sent - ] - ++ (import ../shell-scripts.nix {inherit pkgs config;}); + ]; mike-extra-packages = with pkgs; [ (nerdfonts.override {fonts = ["FiraCode"];}) noto-fonts @@ -80,11 +78,10 @@ libreoffice ]; in { - home.packages = - core-packages - ++ ( - if (username == "mike") - then mike-extra-packages - else [] - ); + hm = { + home.packages = + core-packages + ++ + mike-extra-packages; + }; } diff --git a/profiles/station/suckless.nix b/profiles/station/suckless.nix index d10414d..a7145d8 100644 --- a/profiles/station/suckless.nix +++ b/profiles/station/suckless.nix @@ -6,68 +6,70 @@ ... }: let in { - xsession = { - enable = true; - initExtra = '' + hm = { + xsession = { + enable = true; + initExtra = '' ${pkgs.xorg.xmodmap}/bin/xmodmap -e "remove mod1 = Alt_R" ${pkgs.xorg.xmodmap}/bin/xmodmap -e "add mod3 = Alt_R" wal -R dwm dwmblocks & ''; - }; - services.picom = { - enable = true; - activeOpacity = 0.99; - inactiveOpacity = 0.7; - opacityRules = [ - "100:class_g = 'dwm'" - "100:name *= 'Firefox'" - "100:name *= 'mpv'" - "100:name *= 'LibreWolf'" - ]; - settings = { - inactive-opacity-override = false; - frame-opacity = 1; }; - }; - services.dunst = { - enable = true; - settings = { - global = { - monitor = 0; - follow = "keyboard"; - width = 370; - height = 350; - offset = "0x19"; - padding = 2; - horizontal_padding = 2; - transparency = 25; - font = "Monospace 12"; - format = "<b>%s</b>\\n%b"; - }; - urgency_low = { - background = "#1d2021"; - foreground = "#928374"; - timeout = 3; + services.picom = { + enable = true; + activeOpacity = 0.99; + inactiveOpacity = 0.7; + opacityRules = [ + "100:class_g = 'dwm'" + "100:name *= 'Firefox'" + "100:name *= 'mpv'" + "100:name *= 'LibreWolf'" + ]; + settings = { + inactive-opacity-override = false; + frame-opacity = 1; }; - urgency_normal = { - foreground = "#ebdbb2"; - background = "#458588"; - timeout = 5; - }; - urgency_critical = { - background = "#1cc24d"; - foreground = "#ebdbb2"; - frame_color = "#fabd2f"; - timeout = 10; + }; + services.dunst = { + enable = true; + settings = { + global = { + monitor = 0; + follow = "keyboard"; + width = 370; + height = 350; + offset = "0x19"; + padding = 2; + horizontal_padding = 2; + transparency = 25; + font = "Monospace 12"; + format = "<b>%s</b>\\n%b"; + }; + urgency_low = { + background = "#1d2021"; + foreground = "#928374"; + timeout = 3; + }; + urgency_normal = { + foreground = "#ebdbb2"; + background = "#458588"; + timeout = 5; + }; + urgency_critical = { + background = "#1cc24d"; + foreground = "#ebdbb2"; + frame_color = "#fabd2f"; + timeout = 10; + }; }; }; + home.packages = with pkgs; [ + st + dwm + dwmblocks + libnotify + ]; }; - home.packages = with pkgs; [ - st - dwm - dwmblocks - libnotify - ]; } diff --git a/profiles/station/zathura.nix b/profiles/station/zathura.nix index 198f039..084214c 100644 --- a/profiles/station/zathura.nix +++ b/profiles/station/zathura.nix @@ -4,9 +4,10 @@ pkgs, ... }: { - programs.zathura = { - enable = true; - extraConfig = '' + hm = { + programs.zathura = { + enable = true; + extraConfig = '' set sandbox none set statusbar-h-padding 0 set statusbar-v-padding 0 @@ -23,5 +24,6 @@ map p print map g goto top ''; + }; }; } |
