This commit is contained in:
Nico
2025-06-16 01:08:44 +02:00
parent e3c6e694f1
commit 10bf6d204c
37 changed files with 1311 additions and 14 deletions

View File

@@ -92,6 +92,7 @@
virtualisation.virtualbox.host.enable = true;
virtualisation.docker.enable = true;
users.extraGroups.vboxusers.members = [ "n" ];
virtualisation.virtualbox.host.enableExtensionPack = true;
@@ -118,6 +119,7 @@
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
wireplumber.enable = true;
# If you want to use JACK applications, uncomment this
#jack.enable = true;
@@ -140,7 +142,7 @@
users.users.n = {
isNormalUser = true;
description = "n";
extraGroups = [ "networkmanager" "wheel" "video" "adbusers" "input" ];
extraGroups = [ "networkmanager" "wheel" "video" "adbusers" "input" "docker" ];
packages = with pkgs; [
obsidian
];
@@ -195,6 +197,7 @@
pkgs.nil
# sway
pkgs.pavucontrol
pkgs.networkmanagerapplet
pkgs.wl-clipboard # wl-copy and wl-paste for copy/paste from stdin / stdout
pkgs.go

View File

@@ -0,0 +1,3 @@
general.import = [
"~/.config/alacritty/catppuccin-mocha.toml"
]

View File

@@ -0,0 +1,13 @@
{pkgs, config, lib, ...}:
{
home.packages = with pkgs; [
alacritty
alacritty-theme
];
home.file = {
".config/alacritty/alacritty.toml" = {
source = "/etc/nixos/packages/alacritty/alacritty.toml";
};
};
}

View File

@@ -9,9 +9,9 @@
./wpaperd
./nvim
./emacs
./kitty
./terminal
./rofi
./alacritty
# ./alacritty
# ./tmux
# ./mako
# ./qutebrowser

277
packages/emacs/default.nix~ Normal file
View File

@@ -0,0 +1,277 @@
{ config, pkgs, ... }:
let
emacsWithPackages = (pkgs.emacsPackagesFor pkgs.emacs).emacsWithPackages;
in {
programs.emacs = {
enable = true;
extraConfig = ''
(load-theme 'catppuccin :no-confirm)
(global-display-line-numbers-mode 1)
(setq-default truncate-lines t)
(telephone-line-mode 1)
(xterm-mouse-mode 1)
(setq evil-want-C-u-scroll t)
(menu-bar--display-line-numbers-mode-relative)
(global-display-line-numbers-mode 1)
(electric-pair-mode)
;;(menu-bar-mode -1)
(require 'yasnippet)
(yas-global-mode 1)
(require 'which-key)
(which-key-mode)
(require 'evil-god-state)
(evil-define-key 'normal global-map "," 'evil-execute-in-god-state)
(which-key-enable-god-mode-support)
(require 'nix-mode)
(add-to-list 'auto-mode-alist '("\\.nix\\'" . nix-mode))
(use-package treemacs
:ensure t
:defer t
:init
(with-eval-after-load 'winum
(define-key winum-keymap (kbd "M-0") #'treemacs-select-window))
:config
(progn
(setq treemacs-collapse-dirs (if treemacs-python-executable 3 0)
treemacs-deferred-git-apply-delay 0.5
treemacs-directory-name-transformer #'identity
treemacs-display-in-side-window t
treemacs-eldoc-display 'simple
treemacs-file-event-delay 2000
treemacs-file-extension-regex treemacs-last-period-regex-value
treemacs-file-follow-delay 0.2
treemacs-file-name-transformer #'identity
treemacs-follow-after-init t
treemacs-expand-after-init t
treemacs-find-workspace-method 'find-for-file-or-pick-first
treemacs-git-command-pipe ""
treemacs-goto-tag-strategy 'refetch-index
treemacs-header-scroll-indicators '(nil . "^^^^^^")
treemacs-hide-dot-git-directory t
treemacs-indentation 2
treemacs-indentation-string " "
treemacs-is-never-other-window nil
treemacs-max-git-entries 5000
treemacs-missing-project-action 'ask
treemacs-move-files-by-mouse-dragging t
treemacs-move-forward-on-expand nil
treemacs-no-png-images nil
treemacs-no-delete-other-windows t
treemacs-project-follow-cleanup nil
treemacs-persist-file (expand-file-name ".cache/treemacs-persist" user-emacs-directory)
treemacs-position 'left
treemacs-read-string-input 'from-child-frame
treemacs-recenter-distance 0.1
treemacs-recenter-after-file-follow nil
treemacs-recenter-after-tag-follow nil
treemacs-recenter-after-project-jump 'always
treemacs-recenter-after-project-expand 'on-distance
treemacs-litter-directories '("/node_modules" "/.venv" "/.cask")
treemacs-project-follow-into-home nil
treemacs-show-cursor nil
treemacs-show-hidden-files t
treemacs-silent-filewatch nil
treemacs-silent-refresh nil
treemacs-sorting 'alphabetic-asc
treemacs-select-when-already-in-treemacs 'move-back
treemacs-space-between-root-nodes t
treemacs-tag-follow-cleanup t
treemacs-tag-follow-delay 1.5
treemacs-text-scale nil
treemacs-user-mode-line-format nil
treemacs-user-header-line-format nil
treemacs-wide-toggle-width 70
treemacs-width 35
treemacs-width-increment 1
treemacs-width-is-initially-locked t
treemacs-workspace-switch-cleanup nil)
;; The default width and height of the icons is 22 pixels. If you are
;; using a Hi-DPI display, uncomment this to double the icon size.
;;(treemacs-resize-icons 44)
(treemacs-follow-mode t)
(treemacs-filewatch-mode t)
(treemacs-fringe-indicator-mode 'always)
(when treemacs-python-executable
(treemacs-git-commit-diff-mode t))
(pcase (cons (not (null (executable-find "git")))
(not (null treemacs-python-executable)))
(`(t . t)
(treemacs-git-mode 'deferred))
(`(t . _)
(treemacs-git-mode 'simple)))
(treemacs-hide-gitignored-files-mode nil))
:bind
(:map global-map
("M-0" . treemacs-select-window)
("C-x t 1" . treemacs-delete-other-windows)
("C-x t t" . treemacs)
("C-x t d" . treemacs-select-directory)
("C-x t B" . treemacs-bookmark)
("C-x t C-t" . treemacs-find-file)
("C-x t M-t" . treemacs-find-tag)))
(use-package treemacs-evil
:after (treemacs evil)
:ensure t)
(use-package treemacs-projectile
:after (treemacs projectile)
:ensure t)
(use-package treemacs-icons-dired
:hook (dired-mode . treemacs-icons-dired-enable-once)
:ensure t)
(use-package treemacs-magit
:after (treemacs magit)
:ensure t)
(use-package treemacs-persp ;;treemacs-perspective if you use perspective.el vs. persp-mode
:after (treemacs persp-mode) ;;or perspective vs. persp-mode
:ensure t
:config (treemacs-set-scope-type 'Perspectives))
(use-package treemacs-tab-bar ;;treemacs-tab-bar if you use tab-bar-mode
:after (treemacs)
:ensure t
:config (treemacs-set-scope-type 'Tabs))
(treemacs-start-on-boot)
(treemacs-project-follow-mode)
(setq evil-want-keybinding nil)
(require 'evil)
(when (require 'evil-collection nil t)
(evil-collection-init))
(require 'evil)
(evil-mode 1)
(defun my-evil-jump-out-or-indent ()
"Springe aus Klammern oder Anführungszeichen heraus oder führe eine Einrückung durch."
(interactive)
(let ((pos (point)))
(cond
;; Wenn der Cursor auf einem Escape-Zeichen ist, gehe zurück
((looking-at-p "[\\]") (backward-char 1))
;; Wenn der Cursor auf einem öffnenden Zeichen ist, gehe vorwärts
((looking-at-p "[\"'()\\[\\{]") (forward-char 1))
;; Wenn der Cursor hinter einem schließenden Zeichen ist, gehe zurück
((looking-back "[\"'()\\[\\{]" (line-beginning-position)) (backward-char 1))
;; Wenn der Cursor nicht in Klammern oder Anführungszeichen ist, führe eine Einrückung durch
(t (indent-for-tab-command)))))
(define-key evil-insert-state-map (kbd "TAB") 'my-evil-jump-out-or-indent)
(with-eval-after-load 'flycheck
(add-hook 'flycheck-mode-hook #'flycheck-inline-mode))
(global-flycheck-mode 1)
(evil-define-key 'god global-map [escape] 'evil-god-state-bail)
(require 'smex)
(smex-initialize)
(global-set-key (kbd "M-x") 'smex)
(global-set-key (kbd "M-X") 'smex-major-mode-commands)
;; This is your old M-x.
(global-set-key (kbd "C-c C-c M-x") 'execute-extended-command)
(add-hook 'prog-mode-hook #'rainbow-delimiters-mode)
(setq gc-cons-threshold (* 100 1024 1024)
read-process-output-max (* 1024 1024))
;;Exit insert mode by pressing j and then k quickly
(setq key-chord-two-keys-delay 0.5)
(key-chord-define evil-insert-state-map "jk" 'evil-normal-state)
(key-chord-mode 1)
(setq company-idle-delay
(lambda () (if (company-in-string-or-comment) nil 0.1)))
(setq company-minimum-prefix-length 1)
(add-hook 'after-init-hook 'global-company-mode)
(custom-set-faces
'(company-tooltip
((t (:background "black" :foreground "thistle1"))))
'(company-tooltip-selection
((t (:background "bdarkslateblue" :foreground "thistle1"))))
)
(with-eval-after-load 'evil
(define-key evil-normal-state-map (kbd "C-h") 'windmove-left)
(define-key evil-normal-state-map (kbd "C-j") 'windmove-down)
(define-key evil-normal-state-map (kbd "C-k") 'windmove-up)
(define-key evil-normal-state-map (kbd "C-l") 'windmove-right)
(define-key evil-motion-state-map (kbd "C-h") 'windmove-left)
(define-key evil-motion-state-map (kbd "C-j") 'windmove-down)
(define-key evil-motion-state-map (kbd "C-k") 'windmove-up)
(define-key evil-motion-state-map (kbd "C-l") 'windmove-right))
(setq lsp-keymap-prefix "C-c l")
(require 'lsp-mode)
(evil-set-undo-system 'undo-redo)
(flycheck-inline-mode nil)
(global-evil-vimish-fold-mode 1)
'';
package = emacsWithPackages (epkgs: (with epkgs.melpaStablePackages; [
])
++ (with epkgs.melpaPackages; [
catppuccin-theme
evil
nix-mode
lsp-treemacs
treemacs-evil
treemacs-tab-bar
flycheck
flycheck-inline
lsp-mode
company
rainbow-delimiters
undo-fu
key-chord
telephone-line
smex
ranger
evil-god-state
which-key
magit
format-all
evil-vimish-fold
])
++ (with epkgs.elpaPackages; [
undo-tree
])
++ [
epkgs.yasnippet
# epkgs.yasnippet-snippets
]);
};
}

View File

@@ -1,7 +1,7 @@
$mainMod = SUPER
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, RETURN, exec, alacritty
bind = $mainMod, RETURN, exec, ghostty
bind = $mainMod, B, exec, floorp
bind = SUPER, BackSpace, killactive,
bind = SUPER_SHIFT, P, exec, rofi -show power-menu -modi power-menu:rofi-power-menu

View File

@@ -1,6 +1,10 @@
input {
input {
kb_layout = us,de
kb_options=grp:alt_shift_toggle
kb_variant =
kb_model =
kb_options =
kb_rules =
kb_options=alt_space_toggle
follow_mouse = 1

View File

@@ -1,4 +1,4 @@
exec-once=waybar
exec-once=wpaperd
exec-once=swaync
exec-once=wl-paste --watch cliphist store
exec-once=wpaperd

161
packages/kitty/default.nix~ Normal file
View File

@@ -0,0 +1,161 @@
{ pkgs, config, lib,... }:
{
home.packages = with pkgs; [
];
programs.nushell = {
enable = true;
extraConfig = ''
$env.config = {
show_banner: false,
edit_mode: vi
}
'';
shellAliases = {
update = "sudo nixos-rebuild switch --flake /etc/nixos/#my-nixos";
emacs = "emacs -nw";
femacs = "emacs -nw --load /etc/nixos/packages/emacs/flutter/init.el";
pemacs = "emacs -nw --load /home/n/Documents/Shells//python/init.el";
};
};
programs.starship = {
enable = true;
settings = {
};
};
programs.carapace = {
enable = true;
enableNushellIntegration = true;
};
programs.zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
initExtra = ''
eval "$(starship init zsh)"
'';
shellAliases = {
update = "sudo nixos-rebuild switch --flake /etc/nixos/#my-nixos";
emacs = "emacs -nw";
femacs = "emacs -nw --load /etc/nixos/packages/emacs/flutter/init.el";
pemacs = "emacs -nw --load /home/n/Documents/Shells//python/init.el";
};
zplug = {
enable = true;
plugins = [
{ name = "zsh-users/zsh-autosuggestions"; } # Simple plugin installation
];
};
oh-my-zsh = {
enable = true;
plugins = [ "git" ];
theme = "agnoster";
};
};
programs.kitty = {
enable = true;
extraConfig = ''
# vim:ft=kitty
## name: Catppuccin Kitty Mocha
## author: Catppuccin Org
## license: MIT
## upstream: https://github.com/catppuccin/kitty/blob/main/themes/mocha.conf
## blurb: Soothing pastel theme for the high-spirited!
map ctrl+shift+w no_op
# The basic colors
foreground #cdd6f4
background #1e1e2e
selection_foreground #1e1e2e
selection_background #f5e0dc
# Cursor colors
cursor #f5e0dc
cursor_text_color #1e1e2e
# URL underline color when hovering with mouse
url_color #f5e0dc
# Kitty window border colors
active_border_color #b4befe
inactive_border_color #6c7086
bell_border_color #f9e2af
# OS Window titlebar colors
wayland_titlebar_color system
macos_titlebar_color system
# Tab bar colors
active_tab_foreground #11111b
active_tab_background #cba6f7
inactive_tab_foreground #cdd6f4
inactive_tab_background #181825
tab_bar_background #11111b
# Colors for marks (marked text in the terminal)
mark1_foreground #1e1e2e
mark1_background #b4befe
mark2_foreground #1e1e2e
mark2_background #cba6f7
mark3_foreground #1e1e2e
mark3_background #74c7ec
# The 16 terminal colors
# black
color0 #45475a
color8 #585b70
# red
color1 #f38ba8
color9 #f38ba8
# green
color2 #a6e3a1
color10 #a6e3a1
# yellow
color3 #f9e2af
color11 #f9e2af
# blue
color4 #89b4fa
color12 #89b4fa
# magenta
color5 #f5c2e7
color13 #f5c2e7
# cyan
color6 #94e2d5
color14 #94e2d5
# white
color7 #bac2de
color15 #a6adc8
'';
};
}

View File

@@ -8,9 +8,9 @@
lldb
lazygit
gcc
gopls
# gopls
stylua
rustfmt
# rustfmt
];
programs.neovim = {
@@ -33,7 +33,7 @@ programs.neovim.plugins = [
".config/nvim/lua/plugins/blink-cmp.lua".source = ./lua/plugins/blink-cmp.lua;
".config/nvim/lua/plugins/lsp.lua".source = ./lua/plugins/lsp.lua;
# ".config/nvim/lua/plugins/mason.lua".source = ./lua/plugins/mason.lua;
".config/nvim/lua/plugins/treesitter.lua".source = ./lua/plugins/treesitter.lua;
# ".config/nvim/lua/plugins/treesitter.lua".source = ./lua/plugins/treesitter.lua;
".config/nvim/lua/plugins/catppuccin.lua".source = ./lua/plugins/catppuccin.lua;
".config/nvim/lua/plugins/telescope.lua".source = ./lua/plugins/telescope.lua;
".config/nvim/lua/plugins/highlight-colors.lua".source = ./lua/plugins/highlight-colors.lua;
@@ -57,7 +57,6 @@ programs.neovim.plugins = [
".config/nvim/lua/plugins/tiny-inline-diagnostic.lua".source = ./lua/plugins/tiny-inline-diagnostic.lua;
".config/nvim/lua/plugins/conform.lua".source = ./lua/plugins/conform.lua;
".config/nvim/lua/plugins/go.lua".source = ./lua/plugins/go.lua;
# ".config/nvim/lua/plugins/nvim-tmux-navigation.lua".source = ./lua/plugins/nvim-tmux-navigation.lua;
}
];

View File

@@ -38,6 +38,7 @@ vim.keymap.set("n", "gd", vim.lsp.buf.definition, bufopts)
-- jump to definition
vim.keymap.set("n", "gd", vim.lsp.buf.definition, bufopts)
-- code actions
vim.keymap.set("n", "<leader>ca", function()
require("tiny-code-action").code_action()
@@ -63,7 +64,9 @@ require("toggleterm").setup({})
require("mini.animate").setup()
vim.o.showtabline = 2
require("tabby").setup({})
require("tabby").setup({
preset = "tab_only"
})
require("tiny-inline-diagnostic").setup({})
@@ -144,3 +147,8 @@ vim.keymap.set("n", "<leader>ts", ":ToggleTerm direction=vertical <CR>", { desc
vim.keymap.set("n", "<leader>ca", function()
require("tiny-code-action").code_action()
end, { desc = "Show code actions", noremap = true, silent = true })
-- disable annoying inline type things
vim.lsp.inlay_hint.enable(false)
vim.diagnostic.config({virtual_text = false})

View File

View File

@@ -1,5 +1,4 @@
return {
'nvim-flutter/flutter-tools.nvim',
lazy = false,
dependencies = {
@@ -66,7 +65,7 @@ return {
focus_on_open = true, -- focus on the newly opened log window
},
dev_tools = {
autostart = false, -- autostart devtools server if not detected
autostart = true, -- autostart devtools server if not detected
auto_open_browser = false, -- Automatically opens devtools in the browser
},
outline = {

View File

View File

@@ -0,0 +1,13 @@
return
{
"neovim/nvim-lspconfig",
opts = function()
local keys = require("lazyvim.plugins.lsp.keymaps").get()
-- change a keymap
keys[#keys + 1] = { "K", "<cmd>echo 'hello'<cr>" }
-- disable a keymap
keys[#keys + 1] = { "K", false }
-- add a keymap
keys[#keys + 1] = { "H", "<cmd>echo 'hello'<cr>" }
end,
}

View File

View File

@@ -0,0 +1,48 @@
---@module "neominimap.config.meta"
return {
"Isrothy/neominimap.nvim",
version = "v3.x.x",
lazy = false, -- NOTE: NO NEED to Lazy load
-- Optional. You can alse set your own keybindings
keys = {
-- Global Minimap Controls
{ "<leader>nm", "<cmd>Neominimap Toggle<cr>", desc = "Toggle global minimap" },
{ "<leader>no", "<cmd>Neominimap Enable<cr>", desc = "Enable global minimap" },
{ "<leader>nc", "<cmd>Neominimap Disable<cr>", desc = "Disable global minimap" },
{ "<leader>nr", "<cmd>Neominimap Refresh<cr>", desc = "Refresh global minimap" },
-- Window-Specific Minimap Controls
{ "<leader>nwt", "<cmd>Neominimap WinToggle<cr>", desc = "Toggle minimap for current window" },
{ "<leader>nwr", "<cmd>Neominimap WinRefresh<cr>", desc = "Refresh minimap for current window" },
{ "<leader>nwo", "<cmd>Neominimap WinEnable<cr>", desc = "Enable minimap for current window" },
{ "<leader>nwc", "<cmd>Neominimap WinDisable<cr>", desc = "Disable minimap for current window" },
-- Tab-Specific Minimap Controls
{ "<leader>ntt", "<cmd>Neominimap TabToggle<cr>", desc = "Toggle minimap for current tab" },
{ "<leader>ntr", "<cmd>Neominimap TabRefresh<cr>", desc = "Refresh minimap for current tab" },
{ "<leader>nto", "<cmd>Neominimap TabEnable<cr>", desc = "Enable minimap for current tab" },
{ "<leader>ntc", "<cmd>Neominimap TabDisable<cr>", desc = "Disable minimap for current tab" },
-- Buffer-Specific Minimap Controls
{ "<leader>nbt", "<cmd>Neominimap BufToggle<cr>", desc = "Toggle minimap for current buffer" },
{ "<leader>nbr", "<cmd>Neominimap BufRefresh<cr>", desc = "Refresh minimap for current buffer" },
{ "<leader>nbo", "<cmd>Neominimap BufEnable<cr>", desc = "Enable minimap for current buffer" },
{ "<leader>nbc", "<cmd>Neominimap BufDisable<cr>", desc = "Disable minimap for current buffer" },
---Focus Controls
{ "<leader>nf", "<cmd>Neominimap Focus<cr>", desc = "Focus on minimap" },
{ "<leader>nu", "<cmd>Neominimap Unfocus<cr>", desc = "Unfocus minimap" },
{ "<leader>ns", "<cmd>Neominimap ToggleFocus<cr>", desc = "Switch focus on minimap" },
},
init = function()
-- The following options are recommended when layout == "float"
vim.opt.wrap = false
vim.opt.sidescrolloff = 36 -- Set a large value
--- Put your configuration here
---@type Neominimap.UserConfig
vim.g.neominimap = {
auto_enable = true,
}
end,
}

View File

View File

@@ -0,0 +1,34 @@
-- Bootstrap lazy.nvim
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
if vim.v.shell_error ~= 0 then
vim.api.nvim_echo({
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
{ out, "WarningMsg" },
{ "\nPress any key to exit..." },
}, true, {})
vim.fn.getchar()
os.exit(1)
end
end
vim.opt.rtp:prepend(lazypath)
-- Make sure to setup `mapleader` and `maplocalleader` before
-- loading lazy.nvim so that mappings are correct.
-- This is also a good place to setup other settings (vim.opt)
vim.g.mapleader = " "
vim.g.maplocalleader = "\\"
-- Setup lazy.nvim
require("lazy").setup({
spec = {
-- add your plugins here
},
-- Configure any other settings here. See the documentation for more details.
-- colorscheme that will be used when installing plugins.
-- install = { colorscheme = { "habamax" } },
-- automatically check for plugin updates
checker = { enabled = true },
})

View File

@@ -0,0 +1,48 @@
local on_attach = function(_, bufnr)
local bufmap = function(keys, func)
vim.keymap.set('n', keys, func, { buffer = bufnr })
end
bufmap('<leader>r', vim.lsp.buf.rename)
bufmap('<leader>a', vim.lsp.buf.code_action)
bufmap('gd', vim.lsp.buf.definition)
bufmap('gD', vim.lsp.buf.declaration)
bufmap('gI', vim.lsp.buf.implementation)
bufmap('<leader>D', vim.lsp.buf.type_definition)
bufmap('gr', require('telescope.builtin').lsp_references)
bufmap('<leader>s', require('telescope.builtin').lsp_document_symbols)
bufmap('<leader>S', require('telescope.builtin').lsp_dynamic_workspace_symbols)
bufmap('K', vim.lsp.buf.hover)
vim.api.nvim_buf_create_user_command(bufnr, 'Format', function(_)
vim.lsp.buf.format()
end, {})
end
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities)
require('neodev').setup()
require('lspconfig').lua_ls.setup {
on_attach = on_attach,
capabilities = capabilities,
root_dir = function()
return vim.loop.cwd()
end,
cmd = { "lua-language-server" },
settings = {
Lua = {
workspace = { checkThirdParty = false },
telemetry = { enable = false },
},
}
}
require('lspconfig').rnix.setup {
on_attach = on_attach,
capabilities = capabilities,
}

View File

@@ -0,0 +1,5 @@
return {
{
'nvim-lualine/lualine.nvim',
dependencies = { 'nvim-tree/nvim-web-devicons' }
}}

View File

@@ -0,0 +1,7 @@
-- Lualine
require("lualine").setup({
icons_enabled = true,
})
-- Comment
require("Comment").setup()

View File

@@ -0,0 +1,4 @@
return {
"nvim-telescope/telescope-file-browser.nvim",
dependencies = { "nvim-telescope/telescope.nvim", "nvim-lua/plenary.nvim" }
}

View File

@@ -0,0 +1,35 @@
{ pkgs, config, lib,... }:
{
home.packages = with pkgs; [
];
programs.ranger = {
enable = true;
extraConfig = ''
set preview_images true
set preview_images_method kitty
'';
};
programs.git = {
enable = true;
userName = "Nico";
userEmail = "nicovessen@gmail.com";
extraConfig = {
safe.directory = "/etc/nixos";
};
};
services.kdeconnect = {
enable = true;
indicator = true;
};
programs.ladybird.enable = true;
}

View File

@@ -0,0 +1,13 @@
{ pkgs, config, lib,... }:
{
programs.qutebrowser = {
enable = true;
}
}

View File

@@ -0,0 +1,18 @@
{ pkgs, config, lib,... }:
{
home.packages = with pkgs; [
rofi-screenshot
rofi-power-menu
rofi-bluetooth
bitwarden-menu
];
programs.rofi = {
enable = true;
theme = "/etc/nixos/packages/rofi/themes/catppuccin-mocha";
plugins = [
pkgs.rofi-power-menu
];
};
}

View File

@@ -0,0 +1,71 @@
{ config, pkgs, inputs, ... }:
{
wayland.windowManager.sway = {
enable = true;
config = rec {
modifier = "Mod4";
# Use kitty as default terminal
terminal = "kitty";
bars = [
{command = "waybar";}
];
startup = [
# Launch Firefox on start
{command = "wpaperd";}
{command = "wl-paste --watch cliphist store";}
];
};
extraConfig = ''
## Input configuration
input "type:keyboard" {
xkb_layout de,us
xkb_variant "nodeadkeys"
xkb_options grp:alt_shift_toggle
}
input "type:touchpad" {
tap enabled # enables click-on-tap
tap_button_map lrm # tap with 1 finger = left click, 2 fingers = right click, 3 fingers = middle click
dwt enabled # disable (touchpad) while typing
dwtp disabled # disable (touchpad) while track pointing
}
#touch {
# set along_the_top "20px x 1.0 @ .5 x 0"
# set bottom_half "1.0 x .5 @ 0 x .5"
# set right_half ".5 x 1.0 @ .5 x 0"
# gesture exec 'rofi -show drun'{
# down 1 $along_the_top
# horiz +100px < move
# }
#}
# Brightness
bindsym XF86MonBrightnessDown exec light -U 10
bindsym XF86MonBrightnessUp exec light -A 10
# Volume
bindsym XF86AudioRaiseVolume exec 'pactl set-sink-volume @DEFAULT_SINK@ +1%'
bindsym XF86AudioLowerVolume exec 'pactl set-sink-volume @DEFAULT_SINK@ -1%'
bindsym XF86AudioMute exec 'pactl set-sink-mute @DEFAULT_SINK@ toggle'
# app launcher
bindsym Mod4+m exec 'rofi -show drun'
bindsym Mod4+Shift+x exec 'rofi -show power-menu -modi power-menu:rofi-power-menu'
bindsym Mod4+Print exec 'rofi-screenshot'
bindsym Mod4+Shift+v exec 'cliphist list | rofi -dmenu | cliphist decode | wl-copy'
bindsym Mod4+BackSpace kill
# disable window border
default_border pixel 2
font pango:monospace 0.001
titlebar_padding 1
titlebar_border_thickness 0
'';
};
}

View File

@@ -0,0 +1,78 @@
colors:
primary:
background: "#1E1E2E" # base
foreground: "#CDD6F4" # text
# Bright and dim foreground colors
dim_foreground: "#CDD6F4" # text
bright_foreground: "#CDD6F4" # text
# Cursor colors
cursor:
text: "#1E1E2E" # base
cursor: "#F5E0DC" # rosewater
vi_mode_cursor:
text: "#1E1E2E" # base
cursor: "#B4BEFE" # lavender
# Search colors
search:
matches:
foreground: "#1E1E2E" # base
background: "#A6ADC8" # subtext0
focused_match:
foreground: "#1E1E2E" # base
background: "#A6E3A1" # green
footer_bar:
foreground: "#1E1E2E" # base
background: "#A6ADC8" # subtext0
# Keyboard regex hints
hints:
start:
foreground: "#1E1E2E" # base
background: "#F9E2AF" # yellow
end:
foreground: "#1E1E2E" # base
background: "#A6ADC8" # subtext0
# Selection colors
selection:
text: "#1E1E2E" # base
background: "#F5E0DC" # rosewater
# Normal colors
normal:
black: "#45475A" # surface1
red: "#F38BA8" # red
green: "#A6E3A1" # green
yellow: "#F9E2AF" # yellow
blue: "#89B4FA" # blue
magenta: "#F5C2E7" # pink
cyan: "#94E2D5" # teal
white: "#BAC2DE" # subtext1
# Bright colors
bright:
black: "#585B70" # surface2
red: "#F38BA8" # red
green: "#A6E3A1" # green
yellow: "#F9E2AF" # yellow
blue: "#89B4FA" # blue
magenta: "#F5C2E7" # pink
cyan: "#94E2D5" # teal
white: "#A6ADC8" # subtext0
# Dim colors
dim:
black: "#45475A" # surface1
red: "#F38BA8" # red
green: "#A6E3A1" # green
yellow: "#F9E2AF" # yellow
blue: "#89B4FA" # blue
magenta: "#F5C2E7" # pink
cyan: "#94E2D5" # teal
white: "#BAC2DE" # subtext1
indexed_colors:
- { index: 16, color: "#FAB387" }
- { index: 17, color: "#F5E0DC" }

View File

@@ -0,0 +1,167 @@
{ pkgs, config, lib,... }:
{
home.packages = with pkgs; [
];
programs.nushell = {
enable = false;
extraConfig = ''
$env.config = {
show_banner: false,
edit_mode: vi
}
'';
shellAliases = {
update = "sudo nixos-rebuild switch --flake /etc/nixos/#my-nixos";
emacs = "emacs -nw";
femacs = "emacs -nw --load /etc/nixos/packages/emacs/flutter/init.el";
pemacs = "emacs -nw --load /home/n/Documents/Shells//python/init.el";
};
};
programs.carapace = {
enable = false;
enableNushellIntegration = true;
};
programs.thefuck.enable = true;
programs.starship.enable = true;
programs.zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
shellAliases = {
# update = "sudo nixos-rebuild switch";
update = "sudo nixos-rebuild switch --flake /etc/nixos/#my-nixos";
emacs = "emacs -nw";
femacs = "emacs -nw --load /home/n/Documents/Shells/flutter/init.el";
pemacs = "emacs -nw --load /home/n/Documents/Shells//python/init.el";
};
initContent = ''
eval "$(starship init zsh)"
'';
zplug = {
enable = false;
plugins = [
{ name = "zsh-users/zsh-autosuggestions"; } # Simple plugin installation
];
};
oh-my-zsh = {
enable = true;
plugins = [ "thefuck" ];
# theme = "";
};
};
programs.ghostty = {
enable = true;
};
home.file."/home/n/.config/ghostty/config" = {
source = ./ghostty-config;
};
programs.kitty = {
enable = true;
extraConfig = ''
# vim:ft=kitty
## name: Catppuccin Kitty Mocha
## author: Catppuccin Org
## license: MIT
## upstream: https://github.com/catppuccin/kitty/blob/main/themes/mocha.conf
## blurb: Soothing pastel theme for the high-spirited!
map ctrl+shift+w no_op
# The basic colors
foreground #cdd6f4
background #1e1e2e
selection_foreground #1e1e2e
selection_background #f5e0dc
# Cursor colors
cursor #f5e0dc
cursor_text_color #1e1e2e
# URL underline color when hovering with mouse
url_color #f5e0dc
# Kitty window border colors
active_border_color #b4befe
inactive_border_color #6c7086
bell_border_color #f9e2af
# OS Window titlebar colors
wayland_titlebar_color system
macos_titlebar_color system
# Tab bar colors
active_tab_foreground #11111b
active_tab_background #cba6f7
inactive_tab_foreground #cdd6f4
inactive_tab_background #181825
tab_bar_background #11111b
# Colors for marks (marked text in the terminal)
mark1_foreground #1e1e2e
mark1_background #b4befe
mark2_foreground #1e1e2e
mark2_background #cba6f7
mark3_foreground #1e1e2e
mark3_background #74c7ec
# The 16 terminal colors
# black
color0 #45475a
color8 #585b70
# red
color1 #f38ba8
color9 #f38ba8
# green
color2 #a6e3a1
color10 #a6e3a1
# yellow
color3 #f9e2af
color11 #f9e2af
# blue
color4 #89b4fa
color12 #89b4fa
# magenta
color5 #f5c2e7
color13 #f5c2e7
# cyan
color6 #94e2d5
color14 #94e2d5
# white
color7 #bac2de
color15 #a6adc8
'';
};
}

View File

@@ -0,0 +1,22 @@
palette = 0=#45475a
palette = 1=#f38ba8
palette = 2=#a6e3a1
palette = 3=#f9e2af
palette = 4=#89b4fa
palette = 5=#f5c2e7
palette = 6=#94e2d5
palette = 7=#bac2de
palette = 8=#585b70
palette = 9=#f38ba8
palette = 10=#a6e3a1
palette = 11=#f9e2af
palette = 12=#89b4fa
palette = 13=#f5c2e7
palette = 14=#94e2d5
palette = 15=#a6adc8
background = 1e1e2e
foreground = cdd6f4
cursor-color = f5e0dc
cursor-text = 1e1e2e
selection-background = 353749
selection-foreground = cdd6f4

View File

@@ -0,0 +1,80 @@
# vim:ft=kitty
## name: Catppuccin Kitty Mocha
## author: Catppuccin Org
## license: MIT
## upstream: https://github.com/catppuccin/kitty/blob/main/themes/mocha.conf
## blurb: Soothing pastel theme for the high-spirited!
# The basic colors
foreground #cdd6f4
background #1e1e2e
selection_foreground #1e1e2e
selection_background #f5e0dc
# Cursor colors
cursor #f5e0dc
cursor_text_color #1e1e2e
# URL underline color when hovering with mouse
url_color #f5e0dc
# Kitty window border colors
active_border_color #b4befe
inactive_border_color #6c7086
bell_border_color #f9e2af
# OS Window titlebar colors
wayland_titlebar_color system
macos_titlebar_color system
# Tab bar colors
active_tab_foreground #11111b
active_tab_background #cba6f7
inactive_tab_foreground #cdd6f4
inactive_tab_background #181825
tab_bar_background #11111b
# Colors for marks (marked text in the terminal)
mark1_foreground #1e1e2e
mark1_background #b4befe
mark2_foreground #1e1e2e
mark2_background #cba6f7
mark3_foreground #1e1e2e
mark3_background #74c7ec
# The 16 terminal colors
# black
color0 #45475a
color8 #585b70
# red
color1 #f38ba8
color9 #f38ba8
# green
color2 #a6e3a1
color10 #a6e3a1
# yellow
color3 #f9e2af
color11 #f9e2af
# blue
color4 #89b4fa
color12 #89b4fa
# magenta
color5 #f5c2e7
color13 #f5c2e7
# cyan
color6 #94e2d5
color14 #94e2d5
# white
color7 #bac2de
color15 #a6adc8

View File

@@ -0,0 +1,36 @@
{ pkgs, config, lib,... }:
{
home.packages = with pkgs; [
];
programs.tmux = {
enable = true;
extraConfig = ''
set-option -sa terminal-overrides ",xterm*:Tc"
set -g @catppuccin_flavor 'mocha'
set -g @catppuccin_window_status_style "rounded"
set -g base-index 1
set -g pane-base-index 1
set-window-option -g pane-base-index 1
set-option -g renumber-windows on
bind '"' split-window -v -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}"
unbind C-b
set -g prefix C-Space
bind C-Space send-prefix
set -g mouse on
bind -n M-H previous-window
bind -n M-L next-window
'';
plugins = [
pkgs.tmuxPlugins.catppuccin
pkgs.tmuxPlugins.vim-tmux-navigator
];
};
}

56
packages/waybar/config~ Normal file
View File

@@ -0,0 +1,56 @@
{
"layer": "bottom",
"position": "top",
"height": 35,
"spacing": 0,
"modules-left": ["clock", "sway/workspaces","sway/mode"],
"modules-center": ["sway/window"],
"modules-right": ["network", "battery", "cpu", "memory", "custom/keyboard-layout", "pulseaudio", "tray"],
"custom/keyboard-layout": {
"interval": 1,
"exec": "swaymsg -t get_inputs | jq -r '.[] | select(.type == \"keyboard\") | .xkb_active_layout_name'"
},
"cpu": {
"interval": 5,
"format": "CPU: {usage}% {avg_frequency} GHz"
},
"memory": {
"interval": 5,
"format": "RAM: {used} GiB"
},
"battery": {
"bat": "BAT0",
"states": {
"good": 90,
"warning": 20,
"critical": 7
},
"format": "{icon} {capacity}%",
"format-charging": " {capacity}%",
"format-plugged": " {capacity}%",
"format-alt": "{time} {icon}",
"format-icons": ["", "", "" , "", ""]
},
"pulseaudio": {
"format": "{icon} {volume}%",
"format-muted": " Muted",
"format-icons": ["", "", ""]
},
"clock": {
"format": "{:%d.%m.%Y | %H:%M}"
},
"network": {
"format-wifi": " {essid} {signalStrength}%",
"format-disconnected": " No Connection"
}
}

View File

@@ -0,0 +1,15 @@
{ pkgs, config, lib,... }:
{
home.packages = with pkgs; [
];
home.file =
lib.mkMerge [
{
".config/waybar/config".source = ./config;
".config/waybar/style.css".source = ./style.css;
".config/waybar/mocha.css".source = ./mocha.css;
}
];
}

View File

@@ -0,0 +1,78 @@
@import "mocha.css";
* {
border: none;
border-radius: 0;
font-family: "Fira Code";
font-weight: bold;
font-size: 13px;
min-height: 0;
}
window#waybar {
/* background: rgba(0,130,130,0); */
background: @base;
}
#clock,
#workspaces,
#window,
#cpu,
#memory,
#network,
#pulseaudio,
#battery{
background: rgba(10,10,10,100);
opacity: 0.8;
/* color: #00ffff; */
color: @mauve;
padding: 0px 10px ;
margin: 3px 0px;
}
#workspaces button{
color: @mauve;
border-radius: 7px;
margin: 3px 0px;
margin-left: 6px;
}
#workspaces button.focused{
background: @mauve;
color: @base;
opacity: 0.8;
transition: 0.3s;
}
#workspaces button:hover{
background: @mauve;
color: @base;
opacity: 0.8;
transition: 0.5s;
}
#window{
border-radius: 10px;
}
#waybar.empty #window {
background: none;
}
#network{
border-radius: 10px 0px 0px 10px;
}
#pulseaudio{
border-radius: 0px 10px 10px 0px;
margin-right: 5px
}
#workspaces{
border-radius: 0px 10px 10px 0px;
}
#clock{
border-radius: 10px 0px 0px 10px;
margin-left: 5px
}

View File

@@ -18,6 +18,7 @@
GOPATH="${go}";
buildInputs = [
go
gopls
];
shellHook = ''

View File

@@ -34,6 +34,7 @@
gtk3
librsvg
xdotool
rustfmt
];
# RUSTC_VERSION = overrides.toolchain.channel;