This commit is contained in:
Varris 2023-07-01 20:47:43 +02:00
parent 552358750f
commit 89be9dade3
20 changed files with 383 additions and 272 deletions

View File

@ -9,7 +9,7 @@
boot = { boot = {
kernelParams = kernelParams =
[ [
"amdgpu.ppfeaturemask=0xffffffff" "amdgpu.ppfeaturemask=0xffffffff"
"net.ifnames=0" "net.ifnames=0"
]; ];
@ -48,10 +48,10 @@
''; '';
}; };
# Set your time zone. # Set your time zone.
time.timeZone = "Europe/Vienna"; time.timeZone = "Europe/Vienna";
# Select internationalisation properties. # Select internationalisation properties.
i18n = { i18n = {
defaultLocale = "en_US.UTF-8"; defaultLocale = "en_US.UTF-8";
extraLocaleSettings = { extraLocaleSettings = {
@ -68,15 +68,14 @@
keyMap = "us-acentos"; keyMap = "us-acentos";
}; };
#chaotic.mesa-git.enable = true; # requires --impure for now # chaotic.mesa-git.enable = true;
hardware.opengl = { hardware.opengl = {
enable = true; enable = true;
extraPackages = [ pkgs.libvdpau-va-gl ]; extraPackages = [ pkgs.libvdpau-va-gl ];
driSupport = true; driSupport32Bit = true;
driSupport32Bit = true; };
};
hardware.steam-hardware.enable = true; hardware.steam-hardware.enable = true;
programs.steam.enable = true; programs.steam.enable = true;
@ -88,7 +87,7 @@
extraBackends = [ pkgs.sane-airscan ]; extraBackends = [ pkgs.sane-airscan ];
}; };
# Enable sound. # Enable sound.
sound.enable = true; sound.enable = true;
security = { security = {
@ -123,8 +122,26 @@
environment = { environment = {
systemPackages = with pkgs; [ systemPackages = with pkgs; [
bc compsize distrobox fd file git htop links2 libsForQt5.dolphin bc
libsForQt5.kio-extras lm_sensors nvtop-amd openrgb p7zip pciutils ripgrep unrar unzip usbutils compsize
distrobox
fd
file
git
htop
kdiskmark
links2
libsForQt5.dolphin
libsForQt5.kio-extras
lm_sensors
nvtop-amd
openrgb
p7zip
pciutils
ripgrep
unrar
unzip
usbutils
]; ];
}; };
@ -194,14 +211,14 @@
enable = true; enable = true;
xdgOpenUsePortal = true; xdgOpenUsePortal = true;
wlr.enable = false; #conflict with XDPH if enabled wlr.enable = false; #conflict with XDPH if enabled
extraPortals = [ extraPortals = [
pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-gtk
]; ];
}; };
systemd.extraConfig = '' systemd.extraConfig = ''
DefaultTimeoutStopSec=10s DefaultTimeoutStopSec=10s
''; '';
systemd.user.extraConfig = '' systemd.user.extraConfig = ''
# needed for xdg-open to find the default browser. Why the fuck do I even need to do that? # needed for xdg-open to find the default browser. Why the fuck do I even need to do that?
@ -209,7 +226,7 @@
#Systemd is a meme. This is the proof #Systemd is a meme. This is the proof
DefaultTimeoutStopSec=10s DefaultTimeoutStopSec=10s
''; '';
nix = { nix = {
extraOptions = '' extraOptions = ''
@ -224,10 +241,12 @@
}; };
settings = { settings = {
auto-optimise-store = true; auto-optimise-store = true;
substituters = [ substituters = [
"https://nyx.chaotic.cx" "https://nyx.chaotic.cx"
"https://hyprland.cachix.org" "https://hyprland.cachix.org"
]; ];
trusted-public-keys = [ trusted-public-keys = [
"nyx.chaotic.cx-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8=" "nyx.chaotic.cx-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8="
"chaotic-nyx.cachix.org-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8=" "chaotic-nyx.cachix.org-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8="
@ -236,6 +255,6 @@
}; };
}; };
system.stateVersion = "22.05"; system.stateVersion = "22.05";
} }

109
flake.nix
View File

@ -4,22 +4,60 @@
inputs = { inputs = {
nixpkgs.url = "nixpkgs/nixpkgs-unstable"; nixpkgs.url = "nixpkgs/nixpkgs-unstable";
home-manager.url = "github:nix-community/home-manager"; home-manager.url = "github:nix-community/home-manager";
chaotic-nyx.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
nix-index-database = {
url = "github:Mic92/nix-index-database";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprland = {
url = "github:hyprwm/hyprland";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprland.url = "github:hyprwm/hyprland/v0.26.0";
hyprland-contrib.url = "github:hyprwm/contrib"; hyprland-contrib.url = "github:hyprwm/contrib";
hyprpicker.url = "github:hyprwm/hyprpicker"; hyprpicker.url = "github:hyprwm/hyprpicker";
gruvbox-kvantum = { url = "github:thefallnn/Gruvbox-Kvantum"; flake = false; }; gruvbox-kvantum = {
url = "github:thefallnn/Gruvbox-Kvantum";
flake = false;
};
fish-plugin-bobthefish = { url = "github:oh-my-fish/theme-bobthefish"; flake = false; }; fish-plugin-bobthefish = {
fish-plugin-gruvbox-theme = { url = "github:Jomik/fish-gruvbox"; flake = false; }; url = "github:oh-my-fish/theme-bobthefish";
flake = false;
};
arrpc = { url = "github:notashelf/arrpc-flake"; inputs.nixpkgs.follows = "nixpkgs"; }; fish-plugin-gruvbox-theme = {
chaotic-nyx.url = "github:chaotic-cx/nyx/nyxpkgs-unstable"; url = "github:Jomik/fish-gruvbox";
grub2-themes = { url = "github:vinceliuice/grub2-themes"; inputs.nixpkgs.follows = "nixpkgs"; }; flake = false;
openmw-git = { url = "gitlab:OpenMW/openmw"; flake = false; }; };
waybar = { url = "github:alexays/waybar"; flake = false; };
xorg-git = { url = "gitlab:xorg/xserver?host=gitlab.freedesktop.org"; flake = false; }; grub2-themes = {
url = "github:vinceliuice/grub2-themes";
inputs.nixpkgs.follows = "nixpkgs";
};
nixd = {
url = "github:nix-community/nixd";
inputs.nixpkgs.follows = "nixpkgs";
};
openmw-git = {
url = "gitlab:OpenMW/openmw";
flake = false;
};
waybar = {
url = "github:alexays/waybar";
flake = false;
};
xorg-git = {
url = "gitlab:xorg/xserver?host=gitlab.freedesktop.org";
flake = false;
};
}; };
outputs = { self, nixpkgs, home-manager, ... }@inputs: outputs = { self, nixpkgs, home-manager, ... }@inputs:
@ -39,6 +77,7 @@
inputs.chaotic-nyx.overlays.default inputs.chaotic-nyx.overlays.default
inputs.hyprland-contrib.overlays.default inputs.hyprland-contrib.overlays.default
inputs.hyprpicker.overlays.default inputs.hyprpicker.overlays.default
inputs.nixd.overlays.default
]; ];
}; };
in in
@ -46,31 +85,29 @@
overlays = (import ./overlay.nix { inherit inputs; }); overlays = (import ./overlay.nix { inherit inputs; });
nixosConfigurations.terra = nixpkgs.lib.nixosSystem nixosConfigurations.terra = nixpkgs.lib.nixosSystem
{ {
inherit system; inherit system;
inherit pkgs; inherit pkgs;
specialArgs = { inherit inputs; }; specialArgs = { inherit inputs; };
modules = [ modules = [
{ {
# needed to get tools working that expect a nixpkgs channel to exist # needed to get tools working that expect a nixpkgs channel to exist
nix.nixPath = [ "nixpkgs=${nixpkgs}" ]; nix.nixPath = [ "nixpkgs=${nixpkgs}" ];
nix.registry.nixpkgs.flake = nixpkgs; nix.registry.nixpkgs.flake = nixpkgs;
} }
./configuration.nix ./configuration.nix
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager {
{ home-manager = {
home-manager = { useUserPackages = true;
useUserPackages = true; users.manuel = import ./user/home.nix;
users.manuel = import ./user/home.nix; extraSpecialArgs = { inherit inputs; };
extraSpecialArgs = { inherit inputs; }; useGlobalPkgs = true;
useGlobalPkgs = true; };
}; }
} inputs.grub2-themes.nixosModules.default
inputs.grub2-themes.nixosModules.default inputs.chaotic-nyx.nixosModules.default
inputs.chaotic-nyx.nixosModules.default inputs.hyprland.nixosModules.default
inputs.hyprland.nixosModules.default ];
]; };
};
}; };
} }

View File

@ -5,7 +5,8 @@
{ {
imports = imports =
[ (modulesPath + "/installer/scan/not-detected.nix") [
(modulesPath + "/installer/scan/not-detected.nix")
]; ];
boot.initrd.availableKernelModules = [ "amdgpu" "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; boot.initrd.availableKernelModules = [ "amdgpu" "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
@ -14,23 +15,27 @@
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
fileSystems."/" = fileSystems."/" =
{ device = "/dev/disk/by-uuid/33112a66-7f9a-482c-b14c-91490f2212c2"; {
device = "/dev/disk/by-uuid/33112a66-7f9a-482c-b14c-91490f2212c2";
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=@nixos" "compress=zstd" ]; options = [ "subvol=@nixos" "compress=zstd" ];
}; };
fileSystems."/mnt/hdd" = fileSystems."/mnt/hdd" =
{ device = "/dev/disk/by-uuid/ecbbfb05-ada8-4044-81a6-9a280f93802f"; {
device = "/dev/disk/by-uuid/ecbbfb05-ada8-4044-81a6-9a280f93802f";
fsType = "xfs"; fsType = "xfs";
}; };
fileSystems."/home" = fileSystems."/home" =
{ device = "/dev/disk/by-uuid/4dd7a8ea-311a-458b-8839-1d92c7abab1f"; {
device = "/dev/disk/by-uuid/4dd7a8ea-311a-458b-8839-1d92c7abab1f";
fsType = "xfs"; fsType = "xfs";
}; };
fileSystems."/boot/efi" = fileSystems."/boot/efi" =
{ device = "/dev/disk/by-uuid/D56E-61DC"; {
device = "/dev/disk/by-uuid/D56E-61DC";
fsType = "vfat"; fsType = "vfat";
}; };

View File

@ -4,7 +4,7 @@
arrpc = inputs.arrpc.packages.${prev.system}.arrpc; arrpc = inputs.arrpc.packages.${prev.system}.arrpc;
gruvbox-plus-icon-pack = prev.callPackage ./pkgs/gruvbox-plus-icon-pack {}; gruvbox-plus-icon-pack = prev.callPackage ./pkgs/gruvbox-plus-icon-pack { };
ncmpcpp = prev.ncmpcpp.override { ncmpcpp = prev.ncmpcpp.override {
visualizerSupport = true; visualizerSupport = true;
@ -20,7 +20,7 @@
buildInputs = old.buildInputs ++ [ prev.libyamlcpp prev.luajit ]; buildInputs = old.buildInputs ++ [ prev.libyamlcpp prev.luajit ];
patches = []; patches = [ ];
dontWrapQtApps = false; dontWrapQtApps = false;
}); });
@ -31,7 +31,7 @@
]; ];
extraLibraries = prev: [ ]; extraLibraries = prev: [ ];
}; };
waybar_hyprland = prev.waybar.overrideAttrs (old: { waybar_hyprland = prev.waybar.overrideAttrs (old: {
version = "9999"; version = "9999";
src = inputs.waybar; src = inputs.waybar;
@ -41,19 +41,10 @@
src/modules/wlr/workspace_manager.cpp src/modules/wlr/workspace_manager.cpp
''; '';
mesonFlags = old.mesonFlags ++ [ mesonFlags = old.mesonFlags ++ [
"-Dexperimental=true" "-Dexperimental=true"
"-Dcava=disabled" "-Dcava=disabled"
]; ];
}); });
xwayland = prev.xwayland.overrideAttrs (old: {
version = "9999";
src = inputs.xorg-git;
buildInputs = old.buildInputs ++ [
prev.udev
prev.xorg.libpciaccess
];
});
}; };
} }

View File

@ -19,9 +19,7 @@ stdenvNoCC.mkDerivation rec {
mkdir -p $out/share/icons/GruvboxPlus mkdir -p $out/share/icons/GruvboxPlus
cp -r * $out/share/icons/GruvboxPlus cp -r * $out/share/icons/GruvboxPlus
for theme in $out/share/icons/*; do gtk-update-icon-cache $out/share/icons/GruvboxPlus
gtk-update-icon-cache $theme
done
''; '';
dontDropIconThemeCache = true; dontDropIconThemeCache = true;

View File

@ -1,56 +1,53 @@
{ config, pkgs, inputs, ... }: { config, pkgs, inputs, ... }:
{ {
programs.exa = { programs.fish = {
enable = true; enable = true;
enableAliases = true;
plugins = [
{ name = "gruvbox-theme"; src = inputs.fish-plugin-gruvbox-theme; }
{ name = "bobthefish"; src = inputs.fish-plugin-bobthefish; }
];
interactiveShellInit = ''
theme_gruvbox dark medium
${pkgs.any-nix-shell}/bin/any-nix-shell fish --info-right | source
set -g theme_color_scheme gruvbox
set -g theme_nerd_fonts yes
set -g theme_display_git_default_branch yes
set -g theme_git_default_branches master main
'';
functions = {
fish_greeting = "";
ec = ''
pushd . &> /dev/null
cd "${config.home.homeDirectory}/.dotfiles"
nvim "+Telescope find_files"
popd
'';
nor = ''
pushd . &> /dev/null
cd "${config.home.homeDirectory}/.dotfiles"
doas nixos-rebuild switch --flake .#
popd &> /dev/null
'';
nou = ''
pushd . &> /dev/null
cd "${config.home.homeDirectory}/.dotfiles"
nix flake update --commit-lock-file
doas nixos-rebuild switch --upgrade --flake .#
popd &> /dev/null
'';
}; };
shellAliases = {
programs.fish = { e = "nvim";
enable = true; ls = "${pkgs.exa}/bin/exa --icons";
ll = "${pkgs.exa}/bin/exa --icons -l";
plugins = [ nf = "${pkgs.neofetch}/bin/neofetch";
{ name = "gruvbox-theme"; src = inputs.fish-plugin-gruvbox-theme; }
{ name = "bobthefish"; src = inputs.fish-plugin-bobthefish; }
];
interactiveShellInit = ''
theme_gruvbox dark medium
${pkgs.any-nix-shell}/bin/any-nix-shell fish --info-right | source
set -g theme_color_scheme gruvbox
set -g theme_nerd_fonts yes
set -g theme_display_git_default_branch yes
set -g theme_git_default_branches master main
'';
functions = {
fish_greeting = "";
ec = ''
pushd . &> /dev/null
cd "${config.home.homeDirectory}/.dotfiles"
nvim "+Telescope find_files"
popd
'';
nor = ''
pushd . &> /dev/null
cd "${config.home.homeDirectory}/.dotfiles"
doas nixos-rebuild switch --flake .#
popd &> /dev/null
'';
nou = ''
pushd . &> /dev/null
cd "${config.home.homeDirectory}/.dotfiles"
nix flake update --commit-lock-file
doas nixos-rebuild switch --upgrade --flake .#
popd &> /dev/null
'';
};
shellAliases = {
nf = "${pkgs.neofetch}/bin/neofetch";
e = "nvim";
};
}; };
};
} }

View File

@ -63,7 +63,6 @@ cmp.setup({
{ name = "buffer" }, { name = "buffer" },
{ name = "path" }, { name = "path" },
{ name = "nvim_lsp" }, { name = "nvim_lsp" },
{ name = "nvim_lsp_signature_help"},
{ name = "luasnip" }, { name = "luasnip" },
}), }),

View File

@ -1,5 +1,5 @@
require("gruvbox").setup({ require("gruvbox").setup({
--transparent_mode = true transparent_mode = true
}) })
vim.cmd("colorscheme gruvbox") vim.cmd("colorscheme gruvbox")

View File

@ -1,14 +1,14 @@
require("plugins.colorscheme")
require("plugins.lualine")
require("plugins.bufferline")
require("plugins.treesitter")
require("plugins.lspconfig")
require("plugins.cmp")
require("plugins.telescope")
require("plugins.colorizer")
require("plugins.dressing")
require("plugins.autopairs") require("plugins.autopairs")
require("plugins.bufferline")
require("plugins.cmp")
require("plugins.colorizer")
require("plugins.colorscheme")
require("plugins.comment") require("plugins.comment")
require("plugins.dressing")
require("plugins.lspconfig")
require("plugins.lualine")
require("plugins.smartsplits") require("plugins.smartsplits")
require("plugins.telescope")
require("plugins.treesitter")
require("plugins.trouble") require("plugins.trouble")
require("plugins.which-key") require("plugins.which-key")

View File

@ -1,9 +1,24 @@
local capabilities = require('cmp_nvim_lsp').default_capabilities() local capabilities = require('cmp_nvim_lsp').default_capabilities()
capabilities.textDocument.completion.completionItem.snippetSupport = true capabilities.textDocument.completion.completionItem.snippetSupport = true
capabilities.textDocument.foldingRange = {
dynamicRegistration = false,
lineFoldingOnly = true,
}
local lspconfig = require("lspconfig") local lspconfig = require("lspconfig")
lspconfig.rnix.setup { capabilities = capabilities } local null_ls = require("null-ls")
local null_ls_formatting = null_ls.builtins.formatting
null_ls.setup({
sources = {
null_ls_formatting.prettier,
null_ls_formatting.nixpkgs_fmt,
},
})
lspconfig.nixd.setup { capabilities = capabilities }
lspconfig.lua_ls.setup { lspconfig.lua_ls.setup {
capabilities = capabilities, capabilities = capabilities,

View File

@ -1 +1,8 @@
require("smart-splits").setup() require("smart-splits").setup({
ignored_filetypes = {
"neo-tree",
"nofile",
"quickfix",
"prompt",
}
})

View File

@ -1,3 +1,7 @@
vim.o.timeoutlen = 100 vim.o.timeoutlen = 100
require("which-key").setup() require("which-key").setup({
window = {
padding = { 1, 5, 1, 5}
},
})

View File

@ -1,12 +1,37 @@
local telescope_builtin = require("telescope.builtin")
local map = vim.keymap.set local map = vim.keymap.set
local telescope_builtin = require("telescope.builtin")
local smart_splits = require("smart-splits")
map( "n", "<S-h>", "<cmd>BufferLineCyclePrev<CR>", { desc = "Prev buffer" }) map( "n", "<S-h>", "<cmd>BufferLineCyclePrev<CR>", { desc = "Prev buffer" })
map( "n", "<S-l>", "<cmd>BufferLineCycleNext<CR>", { desc = "Next buffer" }) map( "n", "<S-l>", "<cmd>BufferLineCycleNext<CR>", { desc = "Next buffer" })
map( {"n", "i" }, "<ESC>", "<cmd>noh<CR><ESC>",{ desc = "Escape and clear hlsearch"}) map( { "n", "i" }, "<ESC>", "<cmd>noh<CR><ESC>",{ desc = "Escape and clear hlsearch"})
map( "n", "<Leader>ff", telescope_builtin.find_files, { desc = "Find Files" }) map( "n", "<Leader>ff", telescope_builtin.find_files, { desc = "Find Files" })
map( "n", "<Leader>fb", telescope_builtin.buffers, { desc = "List Buffers" }) map( "n", "<Leader>fb", telescope_builtin.buffers, { desc = "List Buffers" })
map( "n", "<Leader>fh", telescope_builtin.help_tags, { desc = "Help Tags" }) map( "n", "<Leader>fh", telescope_builtin.help_tags, { desc = "Help Tags" })
map( "n", "<Leader>fp", telescope_builtin.git_files, { desc = "Find Files (Git)" }) map( "n", "<Leader>fp", telescope_builtin.git_files, { desc = "Find Files (Git)" })
map( "n", "<Leader>fc", function()
telescope_builtin.git_files({ cwd = "~/.dotfiles"})
end, { desc = "Edit Dotfiles" })
map( "n", "<C-n>", "<cmd>NeoTreeFocusToggle<CR>", { desc = "Open NeoTree" }) map( "n", "<C-n>", "<cmd>NeoTreeFocusToggle<CR>", { desc = "Open NeoTree" })
map( {"n", "x"}, "ga", ":EasyAlign", { desc = "Align text" }) map( {"n", "x"}, "ga", ":EasyAlign", { desc = "Align text" })
-- resizing splits
map('n', '<A-h>', smart_splits.resize_left)
map('n', '<A-j>', smart_splits.resize_down)
map('n', '<A-k>', smart_splits.resize_up)
map('n', '<A-l>', smart_splits.resize_right)
-- moving between splits
map('n', '<C-h>', smart_splits.move_cursor_left)
map('n', '<C-j>', smart_splits.move_cursor_down)
map('n', '<C-k>', smart_splits.move_cursor_up)
map('n', '<C-l>', smart_splits.move_cursor_right)
-- swapping buffers between windows
map('n', '<leader><leader>h', smart_splits.swap_buf_left)
map('n', '<leader><leader>j', smart_splits.swap_buf_down)
map('n', '<leader><leader>k', smart_splits.swap_buf_up)
map('n', '<leader><leader>l', smart_splits.swap_buf_right)
-- null-ls
map( 'n', "<Leader>lf", vim.lsp.buf.format, { desc = "Format file"})

View File

@ -8,6 +8,7 @@ vim.o.smartindent = true
vim.o.background = "dark" vim.o.background = "dark"
vim.o.clipboard = "unnamedplus" vim.o.clipboard = "unnamedplus"
vim.o.mouse = ""
vim.o.termguicolors = true vim.o.termguicolors = true
vim.o.ignorecase = true vim.o.ignorecase = true
vim.o.smartcase = true vim.o.smartcase = true
@ -20,5 +21,7 @@ vim.o.backup = false
vim.o.undodir = os.getenv("HOME") .. "/.local/share/nvim/undodir" vim.o.undodir = os.getenv("HOME") .. "/.local/share/nvim/undodir"
vim.o.undofile = true vim.o.undofile = true
vim.o.scrolloff = 8
vim.wo.number = true vim.wo.number = true
vim.wo.relativenumber = true vim.wo.relativenumber = true

View File

@ -1,63 +1,65 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
programs.neovim = { programs.neovim = {
enable = true; enable = true;
plugins = with pkgs.vimPlugins; [ plugins = with pkgs.vimPlugins; [
bufferline-nvim bufferline-nvim
gruvbox-nvim gruvbox-nvim
comment-nvim comment-nvim
dressing-nvim dressing-nvim
lualine-nvim lualine-nvim
luasnip luasnip
neo-tree-nvim neo-tree-nvim
nvim-autopairs nvim-autopairs
nvim-colorizer-lua nvim-colorizer-lua
nvim-notify nvim-notify
nvim-surround nvim-surround
nvim-web-devicons nvim-web-devicons
which-key-nvim which-key-nvim
smart-splits-nvim smart-splits-nvim
legendary-nvim vim-easy-align
vim-easy-align mini-nvim
vim-fugitive vim-fugitive
telescope-nvim telescope-nvim
telescope-fzf-native-nvim telescope-fzf-native-nvim
telescope-ui-select-nvim telescope-ui-select-nvim
telescope-undo-nvim telescope-undo-nvim
nvim-lspconfig null-ls-nvim
nvim-treesitter.withAllGrammars nvim-lspconfig
trouble-nvim nvim-treesitter.withAllGrammars
trouble-nvim
nvim-cmp nvim-cmp
cmp-buffer cmp-buffer
cmp-cmdline cmp-cmdline
cmp-nvim-lsp cmp-nvim-lsp
cmp-path cmp-nvim-lsp-signature-help
cmp_luasnip cmp-path
cmp-nvim-lsp-signature-help cmp_luasnip
friendly-snippets friendly-snippets
lspkind-nvim lspkind-nvim
]; ];
extraPackages = with pkgs; [ extraPackages = with pkgs; [
nodePackages.bash-language-server nodePackages.bash-language-server
clang-tools clang-tools
lua-language-server lua-language-server
python3Packages.jedi-language-server python3Packages.jedi-language-server
rnix-lsp nixpkgs-fmt
rust-analyzer nixd
nodePackages.vscode-css-languageserver-bin rust-analyzer
zls stylua
]; nodePackages.vscode-css-languageserver-bin
}; zls
];
};
xdg.configFile.nvim = { xdg.configFile.nvim = {
source = ./config; source = ./config;
recursive = true; recursive = true;
}; };
} }

View File

@ -5,7 +5,7 @@
package = pkgs.rofi-wayland; package = pkgs.rofi-wayland;
terminal = "${pkgs.foot}/bin/foot"; terminal = "${pkgs.foot}/bin/foot";
extraConfig = { extraConfig = {
modi = "drun,run"; modi = "drun,run";
}; };
theme = ./theme.rasi; theme = ./theme.rasi;
}; };

View File

@ -1,6 +1,6 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
programs.tmux = { programs.tmux = {
enable = true; enable = true;
}; };
} }

View File

@ -103,8 +103,8 @@ in
misc { misc {
vfr = true vfr = true
vrr = 2 vrr = 2
enable_swallow = true # enable_swallow = true
swallow_regex = ^(foot)$ # swallow_regex = ^(foot)$
} }
decoration { decoration {
@ -133,7 +133,7 @@ in
exec-once = ${pkgs.openrgb}/bin/openrgb --startminimized --profile autorun.orp exec-once = ${pkgs.openrgb}/bin/openrgb --startminimized --profile autorun.orp
exec-once = ${pkgs.blueman}/bin/blueman-applet exec-once = ${pkgs.blueman}/bin/blueman-applet
exec-once = ${pkgs.networkmanagerapplet}/bin/nm-applet --indicator exec-once = ${pkgs.networkmanagerapplet}/bin/nm-applet --indicator
exec-once = ${pkgs.mullvad-vpn}/bin/mullvad-gui # exec-once = ${pkgs.mullvad-vpn}/bin/mullvad-gui
exec-once = ${xwaylandSetPrimary}/bin/xwayland-setprimary.sh exec-once = ${xwaylandSetPrimary}/bin/xwayland-setprimary.sh
exec-once = ${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1 exec-once = ${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1
exec-once = ${pkgs.swww}/bin/swww-daemon exec-once = ${pkgs.swww}/bin/swww-daemon
@ -142,9 +142,9 @@ in
exec = ${wob-voldaemon}/bin/wob-volumeindicator.sh; exec = ${wob-voldaemon}/bin/wob-volumeindicator.sh;
exec = pkill waybar; ${pkgs.waybar_hyprland}/bin/waybar exec = pkill waybar; ${pkgs.waybar_hyprland}/bin/waybar
#Set cursor #Set cursor
exec = ${pkgs.hyprland}/bin/hyprctl setcursor "${config.gtk.cursorTheme.name}" 32 &> /dev/null exec = ${pkgs.hyprland}/bin/hyprctl setcursor "${config.gtk.cursorTheme.name}" ${builtins.toString config.gtk.cursorTheme.size} &> /dev/null
env = XCURSOR_SIZE,32 env = XCURSOR_SIZE,${builtins.toString config.gtk.cursorTheme.size}
#keybinds #keybinds
bind = ${modKey}, 1, workspace, 1 bind = ${modKey}, 1, workspace, 1
@ -206,16 +206,16 @@ in
}; };
home.file.".local/share/kservices5/swww.desktop".text = '' home.file.".local/share/kservices5/swww.desktop".text = ''
[Desktop Entry] [Desktop Entry]
Type=Service Type=Service
X-KDE-ServiceTypes=KonqPopupMenu/Plugin X-KDE-ServiceTypes=KonqPopupMenu/Plugin
MimeType=image/jpeg;image/png;image/svg MimeType=image/jpeg;image/png;image/svg
Actions=setSWWWWallpaper; Actions=setSWWWWallpaper;
Encoding=UTF-8 Encoding=UTF-8
[Desktop Action setSWWWWallpaper] [Desktop Action setSWWWWallpaper]
Name=Set Image as Wallpaper Name=Set Image as Wallpaper
Exec=swww img "%f" Exec=swww img "%f"
''; '';
home.packages = [ pkgs.wl-clipboard pkgs.wl-clipboard-x11 pkgs.hyprpicker pkgs.swww pkgs.hyprprop ]; home.packages = [ pkgs.wl-clipboard pkgs.wl-clipboard-x11 pkgs.hyprpicker pkgs.swww pkgs.hyprprop ];

View File

@ -54,13 +54,13 @@ in
on-scroll-up = "hyprctl dispatch workspace e+1"; on-scroll-up = "hyprctl dispatch workspace e+1";
on-scroll-down = "hyprctl dispatch workspace e-1"; on-scroll-down = "hyprctl dispatch workspace e-1";
persistent_workspaces = { persistent_workspaces = {
"1" = [ "DP-1" ]; "1" = [ "DP-1" ];
"2" = [ "DP-1" ]; "2" = [ "DP-1" ];
"3" = [ "DP-1" ]; "3" = [ "DP-1" ];
"4" = [ "HDMI-A-1" ]; "4" = [ "HDMI-A-1" ];
"5" = [ "HDMI-A-1" ]; "5" = [ "HDMI-A-1" ];
"6" = [ "HDMI-A-1" ]; "6" = [ "HDMI-A-1" ];
}; };
}; };
"hyprland/window" = { "hyprland/window" = {

View File

@ -1,61 +1,65 @@
{ pkgs, inputs, ... }: { pkgs, inputs, ... }:
{ {
imports = [ imports = [
./configs/beets ./configs/beets
./configs/cava ./configs/cava
./configs/wayland/hyprland ./configs/wayland/hyprland
./configs/rofi ./configs/rofi
./configs/fish ./configs/fish
./configs/mpd ./configs/mpd
./configs/mpv ./configs/mpv
./configs/neovim ./configs/neovim
./configs/firefox ./configs/firefox
./configs/dircolors.nix ./configs/dircolors.nix
./configs/xdg-mime.nix ./configs/xdg-mime.nix
./configs/kvantum ./configs/kvantum
./configs/tmux ./configs/tmux
inputs.nix-index-database.hmModules.nix-index
]; ];
home.username = "manuel"; home.username = "manuel";
home.homeDirectory = "/home/manuel"; home.homeDirectory = "/home/manuel";
home.packages = with pkgs; [ home.packages = with pkgs; [
appimage-run appimage-run
bc bc
bottom bottles
calcurse bottom
gimp calcurse
gnome.file-roller gimp
gnome.gnome-boxes gnome.file-roller
gnome.gvfs gnome.gnome-boxes
gnome.seahorse gnome.gvfs
gnome.simple-scan gnome.seahorse
libsForQt5.dolphin gnome.simple-scan
libsForQt5.dolphin-plugins heroic
lutris libsForQt5.dolphin
mesa-demos libsForQt5.dolphin-plugins
nerdfonts lutris
noto-fonts-cjk-sans mangohud
noto-fonts-cjk-serif mesa-demos
obs-studio nerdfonts
openmw noto-fonts-cjk-sans
pavucontrol noto-fonts-cjk-serif
protontricks obs-studio
qbittorrent openmw
qt5ct pavucontrol
sc-im protontricks
signal-desktop qbittorrent
sshfs qt5ct
steam-run sc-im
sxiv signal-desktop
thunderbird sshfs
tldr steam-run
twemoji-color-font sxiv
vimv thunderbird
vulkan-tools tldr
vulkan-validation-layers twemoji-color-font
webcord-vencord vimv
wineWowPackages.stagingFull vulkan-tools
xdg-utils vulkan-validation-layers
webcord-vencord
wineWowPackages.stagingFull
xdg-utils
]; ];
home.sessionVariables = { home.sessionVariables = {
@ -66,11 +70,15 @@
RADV_PERFTEST = "gpl"; RADV_PERFTEST = "gpl";
WINEDLLOVERRIDES = "winemenubuilder.exe=d"; WINEDLLOVERRIDES = "winemenubuilder.exe=d";
XDG_SCREENSHOTS_DIR = "~/Screenshots"; XDG_SCREENSHOTS_DIR = "~/Screenshots";
WLR_NO_HARDWARE_CURSORS = "1"; # WLR_NO_HARDWARE_CURSORS = "1";
}; };
fonts.fontconfig.enable = true; fonts.fontconfig.enable = true;
programs.exa = {
enable = true;
};
programs.keychain = { programs.keychain = {
enable = true; enable = true;
enableFishIntegration = true; enableFishIntegration = true;
@ -138,6 +146,7 @@
enable = true; enable = true;
enableFishIntegration = true; enableFishIntegration = true;
}; };
nix-index-database.comma.enable = true;
}; };
services.gnome-keyring.enable = true; services.gnome-keyring.enable = true;