diff --git a/TODOS.md b/TODOS.md index 8789c7f..8f3f190 100644 --- a/TODOS.md +++ b/TODOS.md @@ -1,5 +1,10 @@ # Neues +## maestral + +- autocompletion +- config files and finding the gui + ## Bluetooth - Connection failed diff --git a/configuration.nix b/configuration.nix index 313bb20..9be2a4a 100644 --- a/configuration.nix +++ b/configuration.nix @@ -2,11 +2,8 @@ { # Include the results of the hardware scan. - imports = [ - ./hardware-configuration.nix - ./program-packages/dropbox/default.nix - ./program-packages/steam/default.nix - ]; + imports = + [ ./hardware-configuration.nix ./program-packages/steam/default.nix ]; # Use the systemd-boot EFI boot loader. boot.loader = { diff --git a/flake.lock b/flake.lock index c983e7b..7325880 100644 --- a/flake.lock +++ b/flake.lock @@ -24,11 +24,11 @@ ] }, "locked": { - "lastModified": 1709336216, - "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", + "lastModified": 1712014858, + "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", + "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", "type": "github" }, "original": { @@ -46,11 +46,11 @@ ] }, "locked": { - "lastModified": 1701473968, - "narHash": "sha256-YcVE5emp1qQ8ieHUnxt1wCZCC3ZfAS+SRRWZ2TMda7E=", + "lastModified": 1709336216, + "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5", + "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", "type": "github" }, "original": { @@ -81,11 +81,11 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1709126324, - "narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "d465f4819400de7c8d874d50b982301f28a84605", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -99,11 +99,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1709126324, - "narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "d465f4819400de7c8d874d50b982301f28a84605", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -159,11 +159,11 @@ ] }, "locked": { - "lastModified": 1708547820, - "narHash": "sha256-xU/KC1PWqq5zL9dQ9wYhcdgxAwdeF/dJCLPH3PNZEBg=", + "lastModified": 1710478346, + "narHash": "sha256-Xjf8BdnQG0tLhPMlqQdwCIjOp7Teox0DP3N/jjyiGM4=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "0ca27bd58e4d5be3135a4bef66b582e57abe8f4a", + "rev": "64e7763d72c1e4c1e5e6472640615b6ae2d40fbf", "type": "github" }, "original": { @@ -179,11 +179,11 @@ ] }, "locked": { - "lastModified": 1706981411, - "narHash": "sha256-cLbLPTL1CDmETVh4p0nQtvoF+FSEjsnJTFpTxhXywhQ=", + "lastModified": 1712386041, + "narHash": "sha256-dA82pOMQNnCJMAsPG7AXG35VmCSMZsJHTFlTHizpKWQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "652fda4ca6dafeb090943422c34ae9145787af37", + "rev": "d6bb9f934f2870e5cbc5b94c79e9db22246141ff", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1709335880, - "narHash": "sha256-npzdh3iY1Ku0NTFxntvNgMpJbLBIzbDfGtKyTbv90T4=", + "lastModified": 1713138374, + "narHash": "sha256-YBgTm3a9lBch8AYo6k6qzyE1r/xMBAEObXAck3uu8t8=", "owner": "neovim", "repo": "neovim", - "rev": "39928a7f24916b35577864e28e505dda74103fb8", + "rev": "0f5c94c04b95a2d942b380be48708d3cf097de0c", "type": "github" }, "original": { @@ -226,11 +226,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1709337958, - "narHash": "sha256-qhN8FJh+7SIk3CgRMHO3+zQwZn5wRkeQuBOWnYb7xoQ=", + "lastModified": 1713139466, + "narHash": "sha256-wxrLcto3oOVlTEA3Kodd1qUiREQcWkuF49TsNBI9DoI=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "d1d32c4fe1324f55c2206d419d5f745c5dc0410c", + "rev": "320661405475a889e702f8bcb65807d200f75075", "type": "github" }, "original": { @@ -241,11 +241,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1709294055, - "narHash": "sha256-7EECkQYoNKJZOf2+miJdrMpxpvsn/qZFwIhUI3fQpLs=", + "lastModified": 1713006710, + "narHash": "sha256-u7vpSVm2eCycRuOzSWKic/aaRUK4c8hPo3gETlDfm0A=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ec869190b56a1b4677d24a8bdbcfe80ccea2ece6", + "rev": "692ceb334b4fd60d61798dde895f6f122110f5fe", "type": "github" }, "original": { @@ -257,11 +257,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1708831307, - "narHash": "sha256-0iL/DuGjiUeck1zEaL+aIe2WvA3/cVhp/SlmTcOZXH4=", + "lastModified": 1713013257, + "narHash": "sha256-ZEfGB3YCBVggvk0BQIqVY7J8XF/9jxQ68fCca6nib+8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5bf1cadb72ab4e77cb0b700dab76bcdaf88f706b", + "rev": "90055d5e616bd943795d38808c94dbf0dd35abe8", "type": "github" }, "original": { @@ -287,11 +287,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1709169036, - "narHash": "sha256-j+ywPKUS0JLpidNcz6vA0z1xI/rU5PcLV7pwZMce+Tw=", + "lastModified": 1713128889, + "narHash": "sha256-aB90ZqzosyRDpBh+rILIcyP5lao8SKz8Sr2PSWvZrzk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ec25c90d35d24e36c0af3b3d58a09542367ebbee", + "rev": "2748d22b45a99fb2deafa5f11c7531c212b2cefa", "type": "github" }, "original": { @@ -315,11 +315,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1709169036, - "narHash": "sha256-j+ywPKUS0JLpidNcz6vA0z1xI/rU5PcLV7pwZMce+Tw=", + "lastModified": 1713128889, + "narHash": "sha256-aB90ZqzosyRDpBh+rILIcyP5lao8SKz8Sr2PSWvZrzk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ec25c90d35d24e36c0af3b3d58a09542367ebbee", + "rev": "2748d22b45a99fb2deafa5f11c7531c212b2cefa", "type": "github" }, "original": { @@ -382,11 +382,11 @@ }, "unstable": { "locked": { - "lastModified": 1709150264, - "narHash": "sha256-HofykKuisObPUfj0E9CJVfaMhawXkYx3G8UIFR/XQ38=", + "lastModified": 1712963716, + "narHash": "sha256-WKm9CvgCldeIVvRz87iOMi8CFVB1apJlkUT4GGvA0iM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9099616b93301d5cf84274b184a3a5ec69e94e08", + "rev": "cfd6b5fc90b15709b780a5a1619695a88505a176", "type": "github" }, "original": { @@ -404,11 +404,11 @@ "unstable": "unstable" }, "locked": { - "lastModified": 1709107696, - "narHash": "sha256-Z1pcdrx0K1E3h7gKvNNoP8F99HMcXwrn7mjurg1usvY=", + "lastModified": 1711176336, + "narHash": "sha256-bOeCzmirCSiIceS3gYgW4pKkdvcym7ayQU547jktY3o=", "owner": "xmonad", "repo": "xmonad", - "rev": "e5548547e314b9561cbf0addf058637247079032", + "rev": "88102c0afbda9c681c18e882126ad2c144b5fec0", "type": "github" }, "original": { @@ -425,11 +425,11 @@ "xmonad": "xmonad" }, "locked": { - "lastModified": 1709107661, - "narHash": "sha256-pMBsEPdsxuNw5of4n5uqblo4XOG3QD683w4fk9KmdVA=", + "lastModified": 1711871917, + "narHash": "sha256-e7TJ5Y7pUnO2AojWysw6WCrY0Ik6cwhjtC5YeFZJFm8=", "owner": "xmonad", "repo": "xmonad-contrib", - "rev": "5ce04d666485df4b9f889408fb5df37c7536985b", + "rev": "6e43da859816871f0ecbca12efb046af394d53f3", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index ac40d25..dc4e96a 100644 --- a/flake.nix +++ b/flake.nix @@ -32,6 +32,8 @@ ./home/programs/xmonad/src/xmobar/default.nix { }; }) inputs.neovim-nightly-overlay.overlay + (import program-packages/overlay.nix { }) + (import overlays/lean.nix) ]; } ] ++ xmonad-contrib.nixosModules ++ [ @@ -58,6 +60,7 @@ ./home/programs/xmonad/src/xmobar/default.nix { }; }) inputs.neovim-nightly-overlay.overlay + (import overlays/lean.nix) ]; } ] ++ xmonad-contrib.nixosModules ++ [ diff --git a/home/default.nix b/home/default.nix index 03eb52e..483a2f2 100644 --- a/home/default.nix +++ b/home/default.nix @@ -8,6 +8,7 @@ # archives unzip zip + fuse # misc tree @@ -17,8 +18,7 @@ lm_sensors arandr pavucontrol - sshf - sshfss + sshfs obsidian lean4 @@ -31,6 +31,9 @@ }; programs = { home-manager.enable = true; }; + home.file."git/minlog".source = + config.lib.file.mkOutOfStoreSymlink "${pkgs.minlog}/share/minlog"; + nixpkgs.config = { allowUnfree = true; permittedInsecurePackages = [ "electron-25.9.0" ]; diff --git a/home/programs/default.nix b/home/programs/default.nix index d34234d..242d472 100644 --- a/home/programs/default.nix +++ b/home/programs/default.nix @@ -3,14 +3,17 @@ ./alacritty ./anki ./discord + ./dolphin ./element ./git ./ktouch ./libreoffice - ./nemo + ./maestral ./neovim ./obs ./planify + ./prusa-slicer + ./pulseaudio ./rofi ./signal ./spotify @@ -21,5 +24,6 @@ ./zathura ./zoom ./zsh + ./zulip ]; } diff --git a/home/programs/dolphin/default.nix b/home/programs/dolphin/default.nix new file mode 100644 index 0000000..4c465a5 --- /dev/null +++ b/home/programs/dolphin/default.nix @@ -0,0 +1,9 @@ +{ pkgs, config, ... }: + +{ + home.packages = with pkgs; [ + libsForQt5.dolphin + libsForQt5.dolphin-plugins + samba + ]; +} diff --git a/home/programs/maestral/default.nix b/home/programs/maestral/default.nix new file mode 100644 index 0000000..f6e60ce --- /dev/null +++ b/home/programs/maestral/default.nix @@ -0,0 +1,5 @@ +{ pkgs, ... }: + +{ + home.packages = with pkgs; [ maestral maestral-gui ]; +} diff --git a/home/programs/nemo/default.nix b/home/programs/nemo/default.nix deleted file mode 100644 index 2c301bc..0000000 --- a/home/programs/nemo/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ pkgs, config, ... }: - -{ - home.packages = with pkgs; [ - cinnamon.nemo-with-extensions - gnome.gnome-themes-extra - dconf - ]; - gtk = { - enable = true; - theme = { - name = "Catppuccin-Mocha-Compact-Flamingo-Dark"; - package = pkgs.catppuccin-gtk.override { - accents = [ "flamingo" ]; - size = "compact"; - tweaks = [ "rimless" "black" ]; - variant = "mocha"; - }; - }; - }; - - xdg.configFile = { - "gtk-4.0/assets".source = - "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0/assets"; - "gtk-4.0/gtk.css".source = - "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0/gtk.css"; - "gtk-4.0/gtk-dark.css".source = - "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0/gtk-dark.css"; - }; -} diff --git a/home/programs/neovim/coc-settings.json b/home/programs/neovim/coc-settings.json deleted file mode 100644 index ae6e85d..0000000 --- a/home/programs/neovim/coc-settings.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "languageserver": { - "haskell": { - "command": "haskell-language-server-wrapper", - "args": ["--lsp"], - "rootPatterns": [ - "*.cabal", - "stack.yaml", - "cabal.project", - "package.yaml", - "hie.yaml" - ], - "filetypes": ["haskell", "lhaskell"], - // Settings are optional, here are some example values - "settings": { - "haskell": { - "checkParents": "CheckOnSave", - "checkProject": true, - "maxCompletions": 40, - "formattingProvider": "ormolu", - "plugin": { - "stan": { "globalOn": true } - } - } - } - } - } -} diff --git a/home/programs/neovim/default.nix b/home/programs/neovim/default.nix index 2c9f77d..7c566e1 100644 --- a/home/programs/neovim/default.nix +++ b/home/programs/neovim/default.nix @@ -111,6 +111,7 @@ in { extraLuaConfig = '' vim.g.mapleader = " " + vim.g.maplocalleader = "," require("lazy").setup({ spec = { -- Import plugins from lua/plugins @@ -127,7 +128,7 @@ in { pkgs.vimUtils.packDir config.programs.neovim.finalPackage.passthru.packpathDirs }/pack/myNeovimPackages/start", - patterns = {"arkav", "Bekaboo", "catppuccin", "epwalsh", "folke", "ggandor", "HiPhish", "hrsh7th", "iamcco", "Joosep", "Julian", "karb94", "kylechui", "L3MON4D3", "lervag", "neoclide", "neovim", "numToStr", "nvim-lua", "nvim-lualine", "nvim-telescope", "nvim-tree", "nvim-treesitter", "Olical", "onsails", "PaterJason", "rafamadiz", "saadparwaiz1", "skanehira", "stevearc", "tpope", "windwp"}, + patterns = {"arkav", "Bekaboo", "catppuccin", "epwalsh", "folke", "ggandor", "HiPhish", "hrsh7th", "iamcco", "Joosep", "Julian", "karb94", "kylechui", "L3MON4D3", "lervag", "mrcjkb", "neovim", "numToStr", "nvim-lua", "nvim-lualine", "nvim-telescope", "nvim-tree", "nvim-treesitter", "Olical", "onsails", "PaterJason", "rafamadiz", "saadparwaiz1", "skanehira", "stevearc", "tpope", "windwp"}, }, install = { -- Safeguard in case we forget to install a plugin with Nix @@ -142,6 +143,5 @@ in { recursive = true; source = ./lua; }; - xdg.configFile."nvim/coc-settings.json".source = ./coc-settings.json; } diff --git a/home/programs/neovim/lua/plugins/coc.lua b/home/programs/neovim/lua/plugins/coc.lua deleted file mode 100644 index 55df723..0000000 --- a/home/programs/neovim/lua/plugins/coc.lua +++ /dev/null @@ -1,185 +0,0 @@ -local M = { - "neoclide/coc.nvim", - branch = "master", - build = "yarn install --frozen-lockfile", -} - -M.config = function() - -- Some servers have issues with backup files, see #649 - vim.opt.backup = false - vim.opt.writebackup = false - - -- Having longer updatetime (default is 4000 ms = 4s) leads to noticeable - -- delays and poor user experience - vim.opt.updatetime = 300 - - -- Always show the signcolumn, otherwise it would shift the text each time - -- diagnostics appeared/became resolved - vim.opt.signcolumn = "yes" - - local keyset = vim.keymap.set - -- Autocomplete - function _G.check_back_space() - local col = vim.fn.col(".") - 1 - return col == 0 or vim.fn.getline("."):sub(col, col):match("%s") ~= nil - end - - -- Use Tab for trigger completion with characters ahead and navigate - -- NOTE: There's always a completion item selected by default, you may want to enable - -- no select by setting `"suggest.noselect": true` in your configuration file - -- NOTE: Use command ':verbose imap ' to make sure Tab is not mapped by - -- other plugins before putting this into your config - local opts = { silent = true, noremap = true, expr = true, replace_keycodes = false } - keyset("i", "", 'coc#pum#visible() ? coc#pum#next(1) : v:lua.check_back_space() ? "" : coc#refresh()', opts) - keyset("i", "", [[coc#pum#visible() ? coc#pum#prev(1) : "\"]], opts) - - -- Make to accept selected completion item or notify coc.nvim to format - -- u breaks current undo, please make your own choice - keyset("i", "", [[coc#pum#visible() ? coc#pum#confirm() : "\u\\=coc#on_enter()\"]], opts) - - -- Use to trigger snippets - keyset("i", "", "(coc-snippets-expand-jump)") - -- Use to trigger completion - keyset("i", "", "coc#refresh()", { silent = true, expr = true }) - - -- Use `[g` and `]g` to navigate diagnostics - -- Use `:CocDiagnostics` to get all diagnostics of current buffer in location list - keyset("n", "[g", "(coc-diagnostic-prev)", { silent = true }) - keyset("n", "]g", "(coc-diagnostic-next)", { silent = true }) - - -- GoTo code navigation - keyset("n", "gd", "(coc-definition)", { silent = true }) - keyset("n", "gy", "(coc-type-definition)", { silent = true }) - keyset("n", "gi", "(coc-implementation)", { silent = true }) - keyset("n", "gr", "(coc-references)", { silent = true }) - - -- Use K to show documentation in preview window - function _G.show_docs() - local cw = vim.fn.expand("") - if vim.fn.index({ "vim", "help" }, vim.bo.filetype) >= 0 then - vim.api.nvim_command("h " .. cw) - elseif vim.api.nvim_eval("coc#rpc#ready()") then - vim.fn.CocActionAsync("doHover") - else - vim.api.nvim_command("!" .. vim.o.keywordprg .. " " .. cw) - end - end - keyset("n", "K", "lua _G.show_docs()", { silent = true }) - - -- Highlight the symbol and its references on a CursorHold event(cursor is idle) - vim.api.nvim_create_augroup("CocGroup", {}) - vim.api.nvim_create_autocmd("CursorHold", { - group = "CocGroup", - command = "silent call CocActionAsync('highlight')", - desc = "Highlight symbol under cursor on CursorHold", - }) - - -- Symbol renaming - keyset("n", "rn", "(coc-rename)", { silent = true }) - - -- Formatting selected code - keyset("x", "f", "(coc-format-selected)", { silent = true }) - keyset("n", "f", "(coc-format-selected)", { silent = true }) - - -- Setup formatexpr specified filetype(s) - vim.api.nvim_create_autocmd("FileType", { - group = "CocGroup", - pattern = "typescript,json", - command = "setl formatexpr=CocAction('formatSelected')", - desc = "Setup formatexpr specified filetype(s).", - }) - - -- Update signature help on jump placeholder - vim.api.nvim_create_autocmd("User", { - group = "CocGroup", - pattern = "CocJumpPlaceholder", - command = "call CocActionAsync('showSignatureHelp')", - desc = "Update signature help on jump placeholder", - }) - - -- Apply codeAction to the selected region - -- Example: `aap` for current paragraph - local opts = { silent = true, nowait = true } - keyset("x", "a", "(coc-codeaction-selected)", opts) - keyset("n", "a", "(coc-codeaction-selected)", opts) - - -- Remap keys for apply code actions at the cursor position. - keyset("n", "ac", "(coc-codeaction-cursor)", opts) - -- Remap keys for apply code actions affect whole buffer. - keyset("n", "as", "(coc-codeaction-source)", opts) - -- Remap keys for applying codeActions to the current buffer - keyset("n", "ac", "(coc-codeaction)", opts) - -- Apply the most preferred quickfix action on the current line. - keyset("n", "qf", "(coc-fix-current)", opts) - - -- Remap keys for apply refactor code actions. - keyset("n", "re", "(coc-codeaction-refactor)", { silent = true }) - keyset("x", "r", "(coc-codeaction-refactor-selected)", { silent = true }) - keyset("n", "r", "(coc-codeaction-refactor-selected)", { silent = true }) - - -- Run the Code Lens actions on the current line - keyset("n", "cl", "(coc-codelens-action)", opts) - - -- Map function and class text objects - -- NOTE: Requires 'textDocument.documentSymbol' support from the language server - keyset("x", "if", "(coc-funcobj-i)", opts) - keyset("o", "if", "(coc-funcobj-i)", opts) - keyset("x", "af", "(coc-funcobj-a)", opts) - keyset("o", "af", "(coc-funcobj-a)", opts) - keyset("x", "ic", "(coc-classobj-i)", opts) - keyset("o", "ic", "(coc-classobj-i)", opts) - keyset("x", "ac", "(coc-classobj-a)", opts) - keyset("o", "ac", "(coc-classobj-a)", opts) - - -- Remap and to scroll float windows/popups - ---@diagnostic disable-next-line: redefined-local - local opts = { silent = true, nowait = true, expr = true } - keyset("n", "", 'coc#float#has_scroll() ? coc#float#scroll(1) : ""', opts) - keyset("n", "", 'coc#float#has_scroll() ? coc#float#scroll(0) : ""', opts) - keyset("i", "", 'coc#float#has_scroll() ? "=coc#float#scroll(1)" : ""', opts) - keyset("i", "", 'coc#float#has_scroll() ? "=coc#float#scroll(0)" : ""', opts) - keyset("v", "", 'coc#float#has_scroll() ? coc#float#scroll(1) : ""', opts) - keyset("v", "", 'coc#float#has_scroll() ? coc#float#scroll(0) : ""', opts) - - -- Use CTRL-S for selections ranges - -- Requires 'textDocument/selectionRange' support of language server - keyset("n", "", "(coc-range-select)", { silent = true }) - keyset("x", "", "(coc-range-select)", { silent = true }) - - -- Add `:Format` command to format current buffer - vim.api.nvim_create_user_command("Format", "call CocAction('format')", {}) - - -- " Add `:Fold` command to fold current buffer - vim.api.nvim_create_user_command("Fold", "call CocAction('fold', )", { nargs = "?" }) - - -- Add `:OR` command for organize imports of the current buffer - vim.api.nvim_create_user_command("OR", "call CocActionAsync('runCommand', 'editor.action.organizeImport')", {}) - - -- Add (Neo)Vim's native statusline support - -- NOTE: Please see `:h coc-status` for integrations with external plugins that - -- provide custom statusline: lightline.vim, vim-airline - vim.opt.statusline:prepend("%{coc#status()}%{get(b:,'coc_current_function','')}") - - -- Mappings for CoCList - -- code actions and coc stuff - ---@diagnostic disable-next-line: redefined-local - local opts = { silent = true, nowait = true } - -- Show all diagnostics - keyset("n", "a", ":CocList diagnostics", opts) - -- Manage extensions - keyset("n", "e", ":CocList extensions", opts) - -- Show commands - keyset("n", "c", ":CocList commands", opts) - -- Find symbol of current document - keyset("n", "o", ":CocList outline", opts) - -- Search workspace symbols - keyset("n", "s", ":CocList -I symbols", opts) - -- Do default action for next item - keyset("n", "j", ":CocNext", opts) - -- Do default action for previous item - keyset("n", "k", ":CocPrev", opts) - -- Resume latest coc list - keyset("n", "p", ":CocListResume", opts) -end - -return M diff --git a/home/programs/neovim/lua/plugins/haskell-tools-nvim-lua b/home/programs/neovim/lua/plugins/haskell-tools-nvim-lua new file mode 100644 index 0000000..f692f4a --- /dev/null +++ b/home/programs/neovim/lua/plugins/haskell-tools-nvim-lua @@ -0,0 +1,5 @@ +{ + 'mrccjkb/haskell-tools.nvim', + version = '^3', + lazy = false, +} diff --git a/home/programs/neovim/lua/plugins/which-key-nvim.lua b/home/programs/neovim/lua/plugins/which-key-nvim.lua index 87595a9..8a8d3c0 100644 --- a/home/programs/neovim/lua/plugins/which-key-nvim.lua +++ b/home/programs/neovim/lua/plugins/which-key-nvim.lua @@ -4,13 +4,9 @@ return { optional = true, event = "VeryLazy", init = function() - vim.o.timeout = true - vim.o.timeoutlen = 300 - end, - opts = { - defaults = { - ["l"] = { name = "+vimtex" }, - }, - }, + vim.o.timeout = true + vim.o.timeoutlen = 300 + end, + opts = {}, }, } diff --git a/home/programs/prusa-slicer/default.nix b/home/programs/prusa-slicer/default.nix new file mode 100644 index 0000000..31e3d6c --- /dev/null +++ b/home/programs/prusa-slicer/default.nix @@ -0,0 +1,5 @@ +{ pkgs, ... }: + +{ + home.packages = with pkgs; [ prusa-slicer ]; +} diff --git a/home/programs/pulseaudio/config b/home/programs/pulseaudio/config new file mode 100644 index 0000000..4892464 --- /dev/null +++ b/home/programs/pulseaudio/config @@ -0,0 +1 @@ +UPPER_THRESHOLD=200 diff --git a/home/programs/pulseaudio/default.nix b/home/programs/pulseaudio/default.nix new file mode 100644 index 0000000..4177863 --- /dev/null +++ b/home/programs/pulseaudio/default.nix @@ -0,0 +1,5 @@ +{ config, ... }: + +{ + xdg.configFile."pulseaudio-ctl/config".source = ./config; +} diff --git a/home/programs/xmonad/src/xmobar/xmobar.hs b/home/programs/xmonad/src/xmobar/xmobar.hs index 19abc43..b021122 100644 --- a/home/programs/xmonad/src/xmobar/xmobar.hs +++ b/home/programs/xmonad/src/xmobar/xmobar.hs @@ -18,7 +18,7 @@ config = , commands = [ --Run $ Audio 10 - Run $ Com "/bin/sh" ["-c", "Status=$(pulseaudio-ctl full-status); Volume=$(cut -d ' ' -f 1 <<<$Status); Mute=$(cut -d ' ' -f 2 <<<$Status); Microphone=$(cut -d ' ' -f 3 <<<$Status); SpeakerColor=\"#a6e3a1\"; MicColor=\"#a6e3a1\"; if [[ $Mute == \"yes\" ]]; then Symbol=\"\xf466\"; SpeakerColor=\"#f38ba8\"; elif [[ $Volume -le 50 ]]; then Symbol=\"\xf027\"; elseSymbol=\"\xf028\"; fi; if [[ $Microphone == \"yes\" ]]; then MicOut=\"\xf036d\"; MicColor=\"#f38ba8\"; else MicOut=\"\xf036c\"; fi; echo \"$Symbol $Volume% $MicOut\""] "audio" 10 + Run $ Com "/bin/sh" ["-c", "Status=$(pulseaudio-ctl full-status); Volume=$(cut -d ' ' -f 1 <<<$Status); Mute=$(cut -d ' ' -f 2 <<<$Status); Microphone=$(cut -d ' ' -f 3 <<<$Status); SpeakerColor=\"#a6e3a1\"; MicColor=\"#a6e3a1\"; if [[ $Mute == \"yes\" ]]; then Symbol=\"\xf466\"; SpeakerColor=\"#f38ba8\"; elif [[ $Volume -le 100 ]]; then Symbol=\"\xf027\"; elseSymbol=\"\xf028\"; fi; if [[ $Microphone == \"yes\" ]]; then MicOut=\"\xf036d\"; MicColor=\"#f38ba8\"; else MicOut=\"\xf036c\"; fi; Volume=$(( Volume/2 )); echo \"$Symbol $Volume% $MicOut\""] "audio" 10 --Run $ Com "/bin/sh" ["-c", "Status=$(pulseaudio-ctl full-status); -- Volume=$(cut -d ' ' -f 1 <<<$Status); -- Mute=$(cut -d ' ' -f 2 <<<$Status); diff --git a/home/programs/xmonad/src/xmonad.hs b/home/programs/xmonad/src/xmonad.hs index fa718b4..a77ba94 100644 --- a/home/programs/xmonad/src/xmonad.hs +++ b/home/programs/xmonad/src/xmonad.hs @@ -54,7 +54,7 @@ myconfig = def , ("", spawn "pulseaudio-ctl down 5") , ("", spawn "pulseaudio-ctl mute-input") ] - `removeKeysP` [ "M-S-q" ] + --`removeKeysP` [ "M-S-q" ] myXmobarPP :: PP myXmobarPP = def @@ -97,3 +97,4 @@ myManageHooks = composeAll myStartupHook :: X () myStartupHook = do mapM_ spawnOnce ["xmobar -x " ++ show sid | sid <- [0..9]] + spawnOnce "dropbox" diff --git a/home/programs/zulip/default.nix b/home/programs/zulip/default.nix new file mode 100644 index 0000000..8b858ec --- /dev/null +++ b/home/programs/zulip/default.nix @@ -0,0 +1,5 @@ +{ pkgs, ... }: + +{ + home.packages = with pkgs; [ zulip ]; +} diff --git a/home/services/betterlockscreen/default.nix b/home/services/betterlockscreen/default.nix index 316b500..16dbb19 100644 --- a/home/services/betterlockscreen/default.nix +++ b/home/services/betterlockscreen/default.nix @@ -4,5 +4,6 @@ services.betterlockscreen = { enable = true; arguments = [ "blur" ]; + inactiveInterval = 30; }; } diff --git a/indent.log b/indent.log new file mode 100644 index 0000000..ee3eaa5 --- /dev/null +++ b/indent.log @@ -0,0 +1,38 @@ +INFO: latexindent.pl version 3.20.3, 2023-02-19, a script to indent .tex files + latexindent.pl lives here: /nix/store/2bhgwk9gsgp4kj73jwwnn7v8ib73mcmc-texlive-latexindent-3.20.3/scripts/latexindent/ + Tue Apr 30 15:54:01 2024 + Reading input from STDIN +INFO: Processing switches: + -y|--yaml: YAML settings specified via command line +INFO: Directory for backup files and indent.log: + . +INFO: Perl modules are being loaded from the following directories: + /nix/store/40rr7blrifwcfzxih97y79qvh07ycakh-perl-5.38.2/lib/perl5/5.38.2/FindBin.pm + /nix/store/8ajjd67qfdyzp0hbpvd1mrpqdhnwjlqq-perl-5.38.2-env/lib/perl5/site_perl/5.38.2/YAML/Tiny.pm + /nix/store/40rr7blrifwcfzxih97y79qvh07ycakh-perl-5.38.2/lib/perl5/5.38.2/File/Copy.pm + /nix/store/40rr7blrifwcfzxih97y79qvh07ycakh-perl-5.38.2/lib/perl5/5.38.2/File/Basename.pm + /nix/store/40rr7blrifwcfzxih97y79qvh07ycakh-perl-5.38.2/lib/perl5/5.38.2/Getopt/Long.pm + /nix/store/8ajjd67qfdyzp0hbpvd1mrpqdhnwjlqq-perl-5.38.2-env/lib/perl5/site_perl/5.38.2/File/HomeDir.pm +INFO: LatexIndent perl modules are being loaded from, for example: + /nix/store/2bhgwk9gsgp4kj73jwwnn7v8ib73mcmc-texlive-latexindent-3.20.3/scripts/latexindent/LatexIndent/Document.pm +INFO: YAML settings read: defaultSettings.yaml + Reading defaultSettings.yaml from /nix/store/2bhgwk9gsgp4kj73jwwnn7v8ib73mcmc-texlive-latexindent-3.20.3/scripts/latexindent/defaultSettings.yaml +INFO: YAML reading settings + Home directory is /home/elias + latexindent.pl didn't find indentconfig.yaml or .indentconfig.yaml + see all possible locations: https://latexindentpl.readthedocs.io/en/latest/sec-appendices.html#indentconfig-options) +INFO: YAML settings read: -y switch + YAML setting: "defaultIndent:' '" + quote found in -y switch + key: + value: defaultIndent:' ' + double-quoted string found in -y switch: "defaultIndent:' '", substitute to defaultIndent:' ' +INFO: Phase 1: searching for objects +INFO: Phase 2: finding surrounding indentation +INFO: Phase 3: indenting objects +INFO: Phase 4: final indentation check +INFO: Output routine: + Not outputting to file; see -w and -o switches for more options. + -------------- +INFO: Please direct all communication/issues to: + https://github.com/cmhughes/latexindent.pl diff --git a/overlays/lean.nix b/overlays/lean.nix new file mode 100644 index 0000000..a18da28 --- /dev/null +++ b/overlays/lean.nix @@ -0,0 +1,13 @@ +final: prev: { + lean4 = prev.lean4.overrideAttrs (old: rec { + version = "4.6.1"; + + src = prev.fetchFromGitHub { + owner = "leanprover"; + repo = "lean4"; + rev = "v${version}"; + hash = "sha256-wUqGADwSocg2ciycCxg9qp+vJLJ2otA/5JpTrkFrDoQ="; + }; + }); +} + diff --git a/program-packages/dropbox/default.nix b/program-packages/dropbox/default.nix deleted file mode 100644 index ccef9fc..0000000 --- a/program-packages/dropbox/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ pkgs, lib, ... }: - -{ - environment.systemPackages = with pkgs; [ dropbox dropbox-cli ]; - - networking.firewall = { - allowedTCPPorts = [ 17500 ]; - allowedUDPPorts = [ 17500 ]; - }; - - systemd.user.services.dropbox = { - description = "Dropbox"; - wantedBy = [ "graphical-session.target" ]; - environment = { - QT_PLUGIN_PATH = "/run/current-system/sw/" - + pkgs.qt5.qtbase.qtPluginPrefix; - QML2_IMPORT_PATH = "/run/current-system/sw/" - + pkgs.qt5.qtbase.qtQmlPrefix; - }; - serviceConfig = { - ExecStart = "${lib.getBin pkgs.dropbox}/bin/dropbox"; - ExecReload = "${lib.getBin pkgs.coreutils}/bin/kill -HUP $MAINPID"; - KillMode = "control-group"; # upstream recommends process - Restart = "on-failure"; - PrivateTmp = true; - ProtectSystem = "full"; - Nice = 10; - }; - }; -} diff --git a/program-packages/minlog.nix b/program-packages/minlog.nix new file mode 100644 index 0000000..c6c17af --- /dev/null +++ b/program-packages/minlog.nix @@ -0,0 +1,25 @@ +{ lib, stdenv, fetchgit, chez, gnumake, which, emacs, texliveFull }: + +stdenv.mkDerivation rec { + name = "minlog"; + version = "2024-04-14"; + + src = fetchgit { + url = "http://www.ed.math.lmu.de/m/~minlogit/git/minlog.git"; + rev = "92a3f38d4532942016525ebdfb05c0a0791cad97"; + hash = "sha256-WWkYjf0vMf6zhSW9zr1hdV8D1W08l5Y0auMghMhFU68="; + }; + + nativeBuildInputs = [ chez which emacs texliveFull ]; + buildInputs = [ chez ]; + + makeFlags = [ "DESTDIR=$(out)" ]; + + meta = with lib; { + description = "Minlog is an interactive proof system"; + homepage = "https://www.ed.math.lmu.de/m//~logik/minlog/#installation"; + maintainers = [ maintainers.einfischy ]; + platforms = platforms.linux; + }; +} + diff --git a/program-packages/overlay.nix b/program-packages/overlay.nix new file mode 100644 index 0000000..7a27b27 --- /dev/null +++ b/program-packages/overlay.nix @@ -0,0 +1,6 @@ +# Arguments to the overlay function: +{ ... }: +final: prev: { + minlog = prev.callPackage ./minlog.nix { }; +} +