lean & prusa-slicer

This commit is contained in:
2024-05-02 08:43:29 +02:00
parent 45932905cb
commit f1fad8c870
26 changed files with 192 additions and 338 deletions

View File

@@ -1,5 +1,10 @@
# Neues # Neues
## maestral
- autocompletion
- config files and finding the gui
## Bluetooth ## Bluetooth
- Connection failed - Connection failed

View File

@@ -2,11 +2,8 @@
{ {
# Include the results of the hardware scan. # Include the results of the hardware scan.
imports = [ imports =
./hardware-configuration.nix [ ./hardware-configuration.nix ./program-packages/steam/default.nix ];
./program-packages/dropbox/default.nix
./program-packages/steam/default.nix
];
# Use the systemd-boot EFI boot loader. # Use the systemd-boot EFI boot loader.
boot.loader = { boot.loader = {

90
flake.lock generated
View File

@@ -24,11 +24,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1709336216, "lastModified": 1712014858,
"narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -46,11 +46,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1701473968, "lastModified": 1709336216,
"narHash": "sha256-YcVE5emp1qQ8ieHUnxt1wCZCC3ZfAS+SRRWZ2TMda7E=", "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5", "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -81,11 +81,11 @@
"systems": "systems_2" "systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1709126324, "lastModified": 1710146030,
"narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=", "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "d465f4819400de7c8d874d50b982301f28a84605", "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -99,11 +99,11 @@
"systems": "systems_3" "systems": "systems_3"
}, },
"locked": { "locked": {
"lastModified": 1709126324, "lastModified": 1710146030,
"narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=", "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "d465f4819400de7c8d874d50b982301f28a84605", "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -159,11 +159,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1708547820, "lastModified": 1710478346,
"narHash": "sha256-xU/KC1PWqq5zL9dQ9wYhcdgxAwdeF/dJCLPH3PNZEBg=", "narHash": "sha256-Xjf8BdnQG0tLhPMlqQdwCIjOp7Teox0DP3N/jjyiGM4=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "hercules-ci-effects", "repo": "hercules-ci-effects",
"rev": "0ca27bd58e4d5be3135a4bef66b582e57abe8f4a", "rev": "64e7763d72c1e4c1e5e6472640615b6ae2d40fbf",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -179,11 +179,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1706981411, "lastModified": 1712386041,
"narHash": "sha256-cLbLPTL1CDmETVh4p0nQtvoF+FSEjsnJTFpTxhXywhQ=", "narHash": "sha256-dA82pOMQNnCJMAsPG7AXG35VmCSMZsJHTFlTHizpKWQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "652fda4ca6dafeb090943422c34ae9145787af37", "rev": "d6bb9f934f2870e5cbc5b94c79e9db22246141ff",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -203,11 +203,11 @@
}, },
"locked": { "locked": {
"dir": "contrib", "dir": "contrib",
"lastModified": 1709335880, "lastModified": 1713138374,
"narHash": "sha256-npzdh3iY1Ku0NTFxntvNgMpJbLBIzbDfGtKyTbv90T4=", "narHash": "sha256-YBgTm3a9lBch8AYo6k6qzyE1r/xMBAEObXAck3uu8t8=",
"owner": "neovim", "owner": "neovim",
"repo": "neovim", "repo": "neovim",
"rev": "39928a7f24916b35577864e28e505dda74103fb8", "rev": "0f5c94c04b95a2d942b380be48708d3cf097de0c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -226,11 +226,11 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1709337958, "lastModified": 1713139466,
"narHash": "sha256-qhN8FJh+7SIk3CgRMHO3+zQwZn5wRkeQuBOWnYb7xoQ=", "narHash": "sha256-wxrLcto3oOVlTEA3Kodd1qUiREQcWkuF49TsNBI9DoI=",
"owner": "nix-community", "owner": "nix-community",
"repo": "neovim-nightly-overlay", "repo": "neovim-nightly-overlay",
"rev": "d1d32c4fe1324f55c2206d419d5f745c5dc0410c", "rev": "320661405475a889e702f8bcb65807d200f75075",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -241,11 +241,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1709294055, "lastModified": 1713006710,
"narHash": "sha256-7EECkQYoNKJZOf2+miJdrMpxpvsn/qZFwIhUI3fQpLs=", "narHash": "sha256-u7vpSVm2eCycRuOzSWKic/aaRUK4c8hPo3gETlDfm0A=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ec869190b56a1b4677d24a8bdbcfe80ccea2ece6", "rev": "692ceb334b4fd60d61798dde895f6f122110f5fe",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -257,11 +257,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1708831307, "lastModified": 1713013257,
"narHash": "sha256-0iL/DuGjiUeck1zEaL+aIe2WvA3/cVhp/SlmTcOZXH4=", "narHash": "sha256-ZEfGB3YCBVggvk0BQIqVY7J8XF/9jxQ68fCca6nib+8=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "5bf1cadb72ab4e77cb0b700dab76bcdaf88f706b", "rev": "90055d5e616bd943795d38808c94dbf0dd35abe8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -287,11 +287,11 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1709169036, "lastModified": 1713128889,
"narHash": "sha256-j+ywPKUS0JLpidNcz6vA0z1xI/rU5PcLV7pwZMce+Tw=", "narHash": "sha256-aB90ZqzosyRDpBh+rILIcyP5lao8SKz8Sr2PSWvZrzk=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ec25c90d35d24e36c0af3b3d58a09542367ebbee", "rev": "2748d22b45a99fb2deafa5f11c7531c212b2cefa",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -315,11 +315,11 @@
}, },
"nixpkgs_6": { "nixpkgs_6": {
"locked": { "locked": {
"lastModified": 1709169036, "lastModified": 1713128889,
"narHash": "sha256-j+ywPKUS0JLpidNcz6vA0z1xI/rU5PcLV7pwZMce+Tw=", "narHash": "sha256-aB90ZqzosyRDpBh+rILIcyP5lao8SKz8Sr2PSWvZrzk=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ec25c90d35d24e36c0af3b3d58a09542367ebbee", "rev": "2748d22b45a99fb2deafa5f11c7531c212b2cefa",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -382,11 +382,11 @@
}, },
"unstable": { "unstable": {
"locked": { "locked": {
"lastModified": 1709150264, "lastModified": 1712963716,
"narHash": "sha256-HofykKuisObPUfj0E9CJVfaMhawXkYx3G8UIFR/XQ38=", "narHash": "sha256-WKm9CvgCldeIVvRz87iOMi8CFVB1apJlkUT4GGvA0iM=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "9099616b93301d5cf84274b184a3a5ec69e94e08", "rev": "cfd6b5fc90b15709b780a5a1619695a88505a176",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -404,11 +404,11 @@
"unstable": "unstable" "unstable": "unstable"
}, },
"locked": { "locked": {
"lastModified": 1709107696, "lastModified": 1711176336,
"narHash": "sha256-Z1pcdrx0K1E3h7gKvNNoP8F99HMcXwrn7mjurg1usvY=", "narHash": "sha256-bOeCzmirCSiIceS3gYgW4pKkdvcym7ayQU547jktY3o=",
"owner": "xmonad", "owner": "xmonad",
"repo": "xmonad", "repo": "xmonad",
"rev": "e5548547e314b9561cbf0addf058637247079032", "rev": "88102c0afbda9c681c18e882126ad2c144b5fec0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -425,11 +425,11 @@
"xmonad": "xmonad" "xmonad": "xmonad"
}, },
"locked": { "locked": {
"lastModified": 1709107661, "lastModified": 1711871917,
"narHash": "sha256-pMBsEPdsxuNw5of4n5uqblo4XOG3QD683w4fk9KmdVA=", "narHash": "sha256-e7TJ5Y7pUnO2AojWysw6WCrY0Ik6cwhjtC5YeFZJFm8=",
"owner": "xmonad", "owner": "xmonad",
"repo": "xmonad-contrib", "repo": "xmonad-contrib",
"rev": "5ce04d666485df4b9f889408fb5df37c7536985b", "rev": "6e43da859816871f0ecbca12efb046af394d53f3",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -32,6 +32,8 @@
./home/programs/xmonad/src/xmobar/default.nix { }; ./home/programs/xmonad/src/xmobar/default.nix { };
}) })
inputs.neovim-nightly-overlay.overlay inputs.neovim-nightly-overlay.overlay
(import program-packages/overlay.nix { })
(import overlays/lean.nix)
]; ];
} }
] ++ xmonad-contrib.nixosModules ++ [ ] ++ xmonad-contrib.nixosModules ++ [
@@ -58,6 +60,7 @@
./home/programs/xmonad/src/xmobar/default.nix { }; ./home/programs/xmonad/src/xmobar/default.nix { };
}) })
inputs.neovim-nightly-overlay.overlay inputs.neovim-nightly-overlay.overlay
(import overlays/lean.nix)
]; ];
} }
] ++ xmonad-contrib.nixosModules ++ [ ] ++ xmonad-contrib.nixosModules ++ [

View File

@@ -8,6 +8,7 @@
# archives # archives
unzip unzip
zip zip
fuse
# misc # misc
tree tree
@@ -17,8 +18,7 @@
lm_sensors lm_sensors
arandr arandr
pavucontrol pavucontrol
sshf sshfs
sshfss
obsidian obsidian
lean4 lean4
@@ -31,6 +31,9 @@
}; };
programs = { home-manager.enable = true; }; programs = { home-manager.enable = true; };
home.file."git/minlog".source =
config.lib.file.mkOutOfStoreSymlink "${pkgs.minlog}/share/minlog";
nixpkgs.config = { nixpkgs.config = {
allowUnfree = true; allowUnfree = true;
permittedInsecurePackages = [ "electron-25.9.0" ]; permittedInsecurePackages = [ "electron-25.9.0" ];

View File

@@ -3,14 +3,17 @@
./alacritty ./alacritty
./anki ./anki
./discord ./discord
./dolphin
./element ./element
./git ./git
./ktouch ./ktouch
./libreoffice ./libreoffice
./nemo ./maestral
./neovim ./neovim
./obs ./obs
./planify ./planify
./prusa-slicer
./pulseaudio
./rofi ./rofi
./signal ./signal
./spotify ./spotify
@@ -21,5 +24,6 @@
./zathura ./zathura
./zoom ./zoom
./zsh ./zsh
./zulip
]; ];
} }

View File

@@ -0,0 +1,9 @@
{ pkgs, config, ... }:
{
home.packages = with pkgs; [
libsForQt5.dolphin
libsForQt5.dolphin-plugins
samba
];
}

View File

@@ -0,0 +1,5 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [ maestral maestral-gui ];
}

View File

@@ -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";
};
}

View File

@@ -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 }
}
}
}
}
}
}

View File

@@ -111,6 +111,7 @@ in {
extraLuaConfig = '' extraLuaConfig = ''
vim.g.mapleader = " " vim.g.mapleader = " "
vim.g.maplocalleader = ","
require("lazy").setup({ require("lazy").setup({
spec = { spec = {
-- Import plugins from lua/plugins -- Import plugins from lua/plugins
@@ -127,7 +128,7 @@ in {
pkgs.vimUtils.packDir pkgs.vimUtils.packDir
config.programs.neovim.finalPackage.passthru.packpathDirs config.programs.neovim.finalPackage.passthru.packpathDirs
}/pack/myNeovimPackages/start", }/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 = { install = {
-- Safeguard in case we forget to install a plugin with Nix -- Safeguard in case we forget to install a plugin with Nix
@@ -142,6 +143,5 @@ in {
recursive = true; recursive = true;
source = ./lua; source = ./lua;
}; };
xdg.configFile."nvim/coc-settings.json".source = ./coc-settings.json;
} }

View File

@@ -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 <tab>' 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", "<TAB>", 'coc#pum#visible() ? coc#pum#next(1) : v:lua.check_back_space() ? "<TAB>" : coc#refresh()', opts)
keyset("i", "<S-TAB>", [[coc#pum#visible() ? coc#pum#prev(1) : "\<C-h>"]], opts)
-- Make <CR> to accept selected completion item or notify coc.nvim to format
-- <C-g>u breaks current undo, please make your own choice
keyset("i", "<cr>", [[coc#pum#visible() ? coc#pum#confirm() : "\<C-g>u\<CR>\<c-r>=coc#on_enter()\<CR>"]], opts)
-- Use <c-j> to trigger snippets
keyset("i", "<c-j>", "<Plug>(coc-snippets-expand-jump)")
-- Use <c-space> to trigger completion
keyset("i", "<c-space>", "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", "<Plug>(coc-diagnostic-prev)", { silent = true })
keyset("n", "]g", "<Plug>(coc-diagnostic-next)", { silent = true })
-- GoTo code navigation
keyset("n", "gd", "<Plug>(coc-definition)", { silent = true })
keyset("n", "gy", "<Plug>(coc-type-definition)", { silent = true })
keyset("n", "gi", "<Plug>(coc-implementation)", { silent = true })
keyset("n", "gr", "<Plug>(coc-references)", { silent = true })
-- Use K to show documentation in preview window
function _G.show_docs()
local cw = vim.fn.expand("<cword>")
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", "<CMD>lua _G.show_docs()<CR>", { 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", "<leader>rn", "<Plug>(coc-rename)", { silent = true })
-- Formatting selected code
keyset("x", "<leader>f", "<Plug>(coc-format-selected)", { silent = true })
keyset("n", "<leader>f", "<Plug>(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: `<leader>aap` for current paragraph
local opts = { silent = true, nowait = true }
keyset("x", "<leader>a", "<Plug>(coc-codeaction-selected)", opts)
keyset("n", "<leader>a", "<Plug>(coc-codeaction-selected)", opts)
-- Remap keys for apply code actions at the cursor position.
keyset("n", "<leader>ac", "<Plug>(coc-codeaction-cursor)", opts)
-- Remap keys for apply code actions affect whole buffer.
keyset("n", "<leader>as", "<Plug>(coc-codeaction-source)", opts)
-- Remap keys for applying codeActions to the current buffer
keyset("n", "<leader>ac", "<Plug>(coc-codeaction)", opts)
-- Apply the most preferred quickfix action on the current line.
keyset("n", "<leader>qf", "<Plug>(coc-fix-current)", opts)
-- Remap keys for apply refactor code actions.
keyset("n", "<leader>re", "<Plug>(coc-codeaction-refactor)", { silent = true })
keyset("x", "<leader>r", "<Plug>(coc-codeaction-refactor-selected)", { silent = true })
keyset("n", "<leader>r", "<Plug>(coc-codeaction-refactor-selected)", { silent = true })
-- Run the Code Lens actions on the current line
keyset("n", "<leader>cl", "<Plug>(coc-codelens-action)", opts)
-- Map function and class text objects
-- NOTE: Requires 'textDocument.documentSymbol' support from the language server
keyset("x", "if", "<Plug>(coc-funcobj-i)", opts)
keyset("o", "if", "<Plug>(coc-funcobj-i)", opts)
keyset("x", "af", "<Plug>(coc-funcobj-a)", opts)
keyset("o", "af", "<Plug>(coc-funcobj-a)", opts)
keyset("x", "ic", "<Plug>(coc-classobj-i)", opts)
keyset("o", "ic", "<Plug>(coc-classobj-i)", opts)
keyset("x", "ac", "<Plug>(coc-classobj-a)", opts)
keyset("o", "ac", "<Plug>(coc-classobj-a)", opts)
-- Remap <C-f> and <C-b> to scroll float windows/popups
---@diagnostic disable-next-line: redefined-local
local opts = { silent = true, nowait = true, expr = true }
keyset("n", "<C-f>", 'coc#float#has_scroll() ? coc#float#scroll(1) : "<C-f>"', opts)
keyset("n", "<C-b>", 'coc#float#has_scroll() ? coc#float#scroll(0) : "<C-b>"', opts)
keyset("i", "<C-f>", 'coc#float#has_scroll() ? "<c-r>=coc#float#scroll(1)<cr>" : "<Right>"', opts)
keyset("i", "<C-b>", 'coc#float#has_scroll() ? "<c-r>=coc#float#scroll(0)<cr>" : "<Left>"', opts)
keyset("v", "<C-f>", 'coc#float#has_scroll() ? coc#float#scroll(1) : "<C-f>"', opts)
keyset("v", "<C-b>", 'coc#float#has_scroll() ? coc#float#scroll(0) : "<C-b>"', opts)
-- Use CTRL-S for selections ranges
-- Requires 'textDocument/selectionRange' support of language server
keyset("n", "<C-s>", "<Plug>(coc-range-select)", { silent = true })
keyset("x", "<C-s>", "<Plug>(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', <f-args>)", { 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", "<space>a", ":<C-u>CocList diagnostics<cr>", opts)
-- Manage extensions
keyset("n", "<space>e", ":<C-u>CocList extensions<cr>", opts)
-- Show commands
keyset("n", "<space>c", ":<C-u>CocList commands<cr>", opts)
-- Find symbol of current document
keyset("n", "<space>o", ":<C-u>CocList outline<cr>", opts)
-- Search workspace symbols
keyset("n", "<space>s", ":<C-u>CocList -I symbols<cr>", opts)
-- Do default action for next item
keyset("n", "<space>j", ":<C-u>CocNext<cr>", opts)
-- Do default action for previous item
keyset("n", "<space>k", ":<C-u>CocPrev<cr>", opts)
-- Resume latest coc list
keyset("n", "<space>p", ":<C-u>CocListResume<cr>", opts)
end
return M

View File

@@ -0,0 +1,5 @@
{
'mrccjkb/haskell-tools.nvim',
version = '^3',
lazy = false,
}

View File

@@ -4,13 +4,9 @@ return {
optional = true, optional = true,
event = "VeryLazy", event = "VeryLazy",
init = function() init = function()
vim.o.timeout = true vim.o.timeout = true
vim.o.timeoutlen = 300 vim.o.timeoutlen = 300
end, end,
opts = { opts = {},
defaults = {
["<localLeader>l"] = { name = "+vimtex" },
},
},
}, },
} }

View File

@@ -0,0 +1,5 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [ prusa-slicer ];
}

View File

@@ -0,0 +1 @@
UPPER_THRESHOLD=200

View File

@@ -0,0 +1,5 @@
{ config, ... }:
{
xdg.configFile."pulseaudio-ctl/config".source = ./config;
}

View File

@@ -18,7 +18,7 @@ config =
, commands = , commands =
[ [
--Run $ Audio 10 --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 \"<fc=$SpeakerColor><fn=1>$Symbol</fn></fc> $Volume% <fc=$MicColor><fn=1>$MicOut</fn></fc>\""] "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 \"<fc=$SpeakerColor><fn=1>$Symbol</fn></fc> $Volume% <fc=$MicColor><fn=1>$MicOut</fn></fc>\""] "audio" 10
--Run $ Com "/bin/sh" ["-c", "Status=$(pulseaudio-ctl full-status); --Run $ Com "/bin/sh" ["-c", "Status=$(pulseaudio-ctl full-status);
-- Volume=$(cut -d ' ' -f 1 <<<$Status); -- Volume=$(cut -d ' ' -f 1 <<<$Status);
-- Mute=$(cut -d ' ' -f 2 <<<$Status); -- Mute=$(cut -d ' ' -f 2 <<<$Status);

View File

@@ -54,7 +54,7 @@ myconfig = def
, ("<XF86AudioLowerVolume>", spawn "pulseaudio-ctl down 5") , ("<XF86AudioLowerVolume>", spawn "pulseaudio-ctl down 5")
, ("<XF86AudioMicMute>", spawn "pulseaudio-ctl mute-input") , ("<XF86AudioMicMute>", spawn "pulseaudio-ctl mute-input")
] ]
`removeKeysP` [ "M-S-q" ] --`removeKeysP` [ "M-S-q" ]
myXmobarPP :: PP myXmobarPP :: PP
myXmobarPP = def myXmobarPP = def
@@ -97,3 +97,4 @@ myManageHooks = composeAll
myStartupHook :: X () myStartupHook :: X ()
myStartupHook = do myStartupHook = do
mapM_ spawnOnce ["xmobar -x " ++ show sid | sid <- [0..9]] mapM_ spawnOnce ["xmobar -x " ++ show sid | sid <- [0..9]]
spawnOnce "dropbox"

View File

@@ -0,0 +1,5 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [ zulip ];
}

View File

@@ -4,5 +4,6 @@
services.betterlockscreen = { services.betterlockscreen = {
enable = true; enable = true;
arguments = [ "blur" ]; arguments = [ "blur" ];
inactiveInterval = 30;
}; };
} }

38
indent.log Normal file
View File

@@ -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

13
overlays/lean.nix Normal file
View File

@@ -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=";
};
});
}

View File

@@ -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;
};
};
}

View File

@@ -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;
};
}

View File

@@ -0,0 +1,6 @@
# Arguments to the overlay function:
{ ... }:
final: prev: {
minlog = prev.callPackage ./minlog.nix { };
}