This commit is contained in:
Varris 2023-05-25 16:44:15 +02:00
parent 2eb9b13e9e
commit 142c2a6103
20 changed files with 160 additions and 181 deletions

View File

@ -1,7 +1,7 @@
# Edit this configuration file to define what should be installed on # Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page # your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help). # and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, lib, inputs, ... }: { pkgs, lib, ... }:
{ {
imports = [ imports = [
# Include the results of the hardware scan. # Include the results of the hardware scan.

166
flake.nix
View File

@ -3,58 +3,18 @@
inputs = { inputs = {
nixpkgs.url = "nixpkgs/nixpkgs-unstable"; nixpkgs.url = "nixpkgs/nixpkgs-unstable";
home-manager.url = "github:nix-community/home-manager";
home-manager = { hyprland.url = "github:hyprwm/hyprland";
url = "github:nix-community/home-manager"; hyprland-contrib.url = "github:hyprwm/contrib";
inputs.nixpkgs.follows = "nixpkgs"; hyprpicker.url = "github:hyprwm/hyprpicker";
}; chaotic-nyx.url = "github:chaotic-cx/nyx";
arrpc = { url = "github:notashelf/arrpc-flake"; inputs.nixpkgs.follows = "nixpkgs"; };
xorg-git = { xorg-git = { url = "gitlab:xorg/xserver?host=gitlab.freedesktop.org"; flake = false; };
url = "gitlab:xorg/xserver?host=gitlab.freedesktop.org"; 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; };
gruvbox-kvantum = { url = "github:thefallnn/Gruvbox-Kvantum"; flake = false; };
grub2-themes = {
url = "github:vinceliuice/grub2-themes";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprland = {
url = "github:hyprwm/hyprland";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprland-contrib = {
url = "github:hyprwm/contrib";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprpicker = {
url = "github:hyprwm/hyprpicker";
inputs.nixpkgs.follows = "nixpkgs";
};
openmw-git = {
url = "gitlab:OpenMW/openmw";
flake = false;
};
waybar = {
url = "github:alexays/waybar";
flake = false;
};
gruvbox-kvantum = {
url = "github:thefallnn/Gruvbox-Kvantum";
flake = false;
};
chaotic-nyx.url = "github:chaotic-aur/nyx";
#catppuccin theme repos
catppuccin-hyprland = { url = "github:catppuccin/hyprland"; flake = false; }; catppuccin-hyprland = { url = "github:catppuccin/hyprland"; flake = false; };
}; };
outputs = { self, nixpkgs, home-manager, ... }@inputs: outputs = { self, nixpkgs, home-manager, ... }@inputs:
@ -69,83 +29,15 @@
}; };
overlays = [ overlays = [
self.overlays.default self.overlays.default
inputs.chaotic-nyx.overlays.default inputs.chaotic-nyx.overlays.default
inputs.hyprland.overlays.default inputs.hyprland.overlays.default
inputs.hyprland-contrib.overlays.default inputs.hyprland-contrib.overlays.default
inputs.hyprpicker.overlays.default inputs.hyprpicker.overlays.default
]; ];
}; };
in in
{ {
overlays.default = final: prev: { overlays = (import ./overlay.nix { inherit inputs; });
nerdfonts = prev.nerdfonts.override {
fonts = [ "JetBrainsMono" ];
};
xwayland = prev.xwayland.overrideAttrs (old: {
version = "9999";
src = inputs.xorg-git;
buildInputs = old.buildInputs ++ [
prev.udev
prev.xorg.libpciaccess
];
});
waybar_hyprland = prev.waybar.overrideAttrs (old: {
version = "9999";
src = inputs.waybar;
preConfigure = ''
sed -i 's/zext_workspace_handle_v1_activate(workspace_handle_);/const std::string command = "hyprctl dispatch workspace " + name_;\n\tsystem(command.c_str());/g' \
src/modules/wlr/workspace_manager.cpp
'';
mesonFlags = old.mesonFlags ++ [
"-Dexperimental=true"
"-Dcava=disabled"
];
});
steam = prev.steam.override {
extraPkgs = pkgs: [
pkgs.gnome.zenity
pkgs.xdg-user-dirs
];
extraLibraries = pkgs: [
];
};
openmw = prev.openmw.overrideAttrs (old: {
version = "9999";
src = inputs.openmw-git;
buildInputs = old.buildInputs ++ [ pkgs.libyamlcpp pkgs.luajit ];
patches = [];
dontWrapQtApps = false;
});
ncmpcpp = prev.ncmpcpp.override {
visualizerSupport = true;
};
catppuccin-gtk-macchiato = prev.catppuccin-gtk.override {
accents = [ "lavender" ];
size = "standard";
variant = "macchiato";
};
catppuccin-kvantum-macchiato = prev.catppuccin-kvantum.override {
accent = "Lavender";
variant = "Macchiato";
};
catppuccin-papirus-folders-macchiato = prev.catppuccin-papirus-folders.override {
accent = "lavender";
flavor = "macchiato";
};
};
nixosConfigurations.terra = nixpkgs.lib.nixosSystem nixosConfigurations.terra = nixpkgs.lib.nixosSystem
{ {
@ -153,21 +45,21 @@
inherit pkgs; inherit pkgs;
specialArgs = { inherit inputs; }; specialArgs = { inherit inputs; };
modules = [ modules = [
{
# needed to get tools working that expect a nixpkgs channel to exist
nix.nixPath = [ "nixpkgs=${nixpkgs}" ];
nix.registry = { nixpkgs.flake = nixpkgs; };
}
./configuration.nix
home-manager.nixosModules.home-manager
{ {
home-manager = { # needed to get tools working that expect a nixpkgs channel to exist
useUserPackages = true; nix.nixPath = [ "nixpkgs=${nixpkgs}" ];
users.manuel = import ./user/home.nix; nix.registry = { nixpkgs.flake = nixpkgs; };
extraSpecialArgs = { inherit inputs pkgs; };
};
} }
inputs.grub2-themes.nixosModules.default ./configuration.nix
home-manager.nixosModules.home-manager
{
home-manager = {
useUserPackages = true;
users.manuel = import ./user/home.nix;
extraSpecialArgs = { inherit inputs pkgs; };
};
}
inputs.grub2-themes.nixosModules.default
inputs.chaotic-nyx.nixosModules.default inputs.chaotic-nyx.nixosModules.default
]; ];
}; };

View File

@ -1,7 +1,7 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }: { config, lib, modulesPath, ... }:
{ {
imports = imports =

74
overlay.nix Normal file
View File

@ -0,0 +1,74 @@
{ inputs }:
{
default = final: prev: {
arrpc = inputs.arrpc.packages.${prev.system}.arrpc;
catppuccin-gtk-macchiato = prev.catppuccin-gtk.override {
accents = [ "lavender" ];
size = "standard";
variant = "macchiato";
};
catppuccin-kvantum-macchiato = prev.catppuccin-kvantum.override {
accent = "Lavender";
variant = "Macchiato";
};
catppuccin-papirus-folders-macchiato = prev.catppuccin-papirus-folders.override {
accent = "lavender";
flavor = "macchiato";
};
ncmpcpp = prev.ncmpcpp.override {
visualizerSupport = true;
};
nerdfonts = prev.nerdfonts.override {
fonts = [ "JetBrainsMono" ];
};
openmw = prev.openmw.overrideAttrs (old: {
version = "9999";
src = inputs.openmw-git;
buildInputs = old.buildInputs ++ [ prev.libyamlcpp prev.luajit ];
patches = [];
dontWrapQtApps = false;
});
steam = prev.steam.override {
extraPkgs = prev: [
prev.gnome.zenity
prev.xdg-user-dirs
];
extraLibraries = prev: [ ];
};
waybar_hyprland = prev.waybar.overrideAttrs (old: {
version = "9999";
src = inputs.waybar;
preConfigure = ''
sed -i 's/zext_workspace_handle_v1_activate(workspace_handle_);/const std::string command = "hyprctl dispatch workspace " + name_;\n\tsystem(command.c_str());/g' \
src/modules/wlr/workspace_manager.cpp
'';
mesonFlags = old.mesonFlags ++ [
"-Dexperimental=true"
"-Dcava=disabled"
];
});
xwayland = prev.xwayland.overrideAttrs (old: {
version = "9999";
src = inputs.xorg-git;
buildInputs = old.buildInputs ++ [
prev.udev
prev.xorg.libpciaccess
];
});
};
}

View File

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

View File

@ -1,4 +1,4 @@
{ pkgs, config, lib, ... }: { pkgs, lib, ... }:
{ {
home.packages = [ pkgs.cava ]; home.packages = [ pkgs.cava ];

View File

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

View File

@ -1,4 +1,4 @@
{ config, pkgs, inputs, ... }: { config, pkgs, ... }:
{ {
programs.exa = { programs.exa = {
enable = true; enable = true;

View File

@ -1,4 +1,4 @@
{ config, lib, pkgs, inputs, ... }: { pkgs, ... }:
{ {
home.packages = [ home.packages = [
pkgs.libsForQt5.qtstyleplugin-kvantum pkgs.libsForQt5.qtstyleplugin-kvantum

View File

@ -1,4 +1,4 @@
{ config, pkgs, ... }: { { ... }: {
services.mpd = { services.mpd = {
enable = true; enable = true;
musicDirectory = "/mnt/hdd/Music"; musicDirectory = "/mnt/hdd/Music";

View File

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

View File

@ -1,4 +1,4 @@
{ config, pkgs, ... }: { pkgs, ... }:
{ {
programs.neovim = { programs.neovim = {
enable = true; enable = true;
@ -42,6 +42,7 @@
nil nil
lua-language-server lua-language-server
clang-tools clang-tools
rust-analyzer
]; ];
}; };
} }

View File

@ -16,6 +16,7 @@ vim.o.timeoutlen = 100
vim.wo.number = true vim.wo.number = true
vim.wo.relativenumber = true vim.wo.relativenumber = true
require("catppuccin").setup({ require("catppuccin").setup({
flavour = "macchiato", flavour = "macchiato",
transparent_background = true, transparent_background = true,
@ -120,10 +121,15 @@ lspconfig.lua_ls.setup {
}, },
}, },
} }
lspconfig.clangd.setup { lspconfig.clangd.setup {
capabilities = capabilities, capabilities = capabilities,
} }
lspconfig.rust_analyzer.setup {
capabilities = capabilities,
}
require("luasnip.loaders.from_vscode").lazy_load() require("luasnip.loaders.from_vscode").lazy_load()
local has_words_before = function() local has_words_before = function()
@ -243,7 +249,6 @@ cmp.setup.cmdline("/", {
{ name = "buffer" }, { name = "buffer" },
}) })
}) })
-- keymaps -- keymaps
vim.keymap.set("n", "<C-n>", "<cmd>NeoTreeFocusToggle<CR>") vim.keymap.set("n", "<C-n>", "<cmd>NeoTreeFocusToggle<CR>")

View File

@ -8,7 +8,7 @@
fg-col2: #ed8796; fg-col2: #ed8796;
grey: #6e738d; grey: #6e738d;
width: 600; width: 800;
font: "JetBrainsMono Nerd Font 10"; font: "JetBrainsMono Nerd Font 10";
} }
@ -18,7 +18,7 @@ element-text, element-icon , mode-switcher {
} }
window { window {
height: 360px; height: 460px;
border: 3px; border: 3px;
border-color: @border-col; border-color: @border-col;
background-color: @bg-col; background-color: @bg-col;

View File

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

View File

@ -31,7 +31,7 @@ let
done done
''; '';
killprocess = pkgs.writeShellScriptBin "killprocess.sh" '' killprocess = pkgs.writeShellScriptBin "killprocess.sh" ''hypr
ps -x -o pid=,comm= | column -t -o " " | ${pkgs.rofi-wayland}/bin/rofi -dmenu -p "kill process: " | awk '{print $1}' | uniq | xargs -r kill -9 ps -x -o pid=,comm= | column -t -o " " | ${pkgs.rofi-wayland}/bin/rofi -dmenu -p "kill process: " | awk '{print $1}' | uniq | xargs -r kill -9
''; '';
@ -143,10 +143,13 @@ in
exec = ${wob-voldaemon}/bin/wob-volumeindicator.sh; exec = ${wob-voldaemon}/bin/wob-volumeindicator.sh;
#Set cursor #Set cursor
exec-once = ${pkgs.hyprland}/bin/hyprctl setcursor capitaine-cursors-white 24 &> /dev/null exec-once = ${pkgs.hyprland}/bin/hyprctl setcursor Catppuccin-Macchiato-Lavender-Cursors 32 &> /dev/null
exec-once = ${pkgs.arrpc}/bin/arRPC
exec = pkill waybar; ${pkgs.waybar_hyprland}/bin/waybar exec = pkill waybar; ${pkgs.waybar_hyprland}/bin/waybar
env = XCURSOR_SIZE,32
#keybinds #keybinds
bind = ${modKey}, 1, workspace, 1 bind = ${modKey}, 1, workspace, 1
bind = ${modKey}, 2, workspace, 2 bind = ${modKey}, 2, workspace, 2
@ -206,6 +209,7 @@ 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
@ -215,7 +219,7 @@ in
Encoding=UTF-8 Encoding=UTF-8
[Desktop Action setSWWWWallpaper] [Desktop Action setSWWWWallpaper]
Name=Set Wallpaper with swww Name=Set Image as Wallpaper
Exec=swww img "%f" Exec=swww img "%f"
''; '';

View File

@ -1,13 +1,6 @@
{ config, pkgs, lib, nix-colors, ... }: { pkgs, lib, ... }:
let let
wobsock = "/tmp/wob-vol.fifo"; wobsock = "/tmp/wob-vol.fifo";
colors = config.colorScheme.colors;
backgroundColorRGB = nix-colors.lib-core.conversions.hexToRGBString "," colors.base00;
backgroundAlpha = "0.7";
font = "JetBrainsMono Nerd Font";
fontSize = "9pt";
ds-battery = pkgs.writeShellScriptBin "ds-battery.sh" '' ds-battery = pkgs.writeShellScriptBin "ds-battery.sh" ''
ds_capacity_file="/sys/class/power_supply/ps-controller-battery-e8:47:3a:46:72:1b/capacity" ds_capacity_file="/sys/class/power_supply/ps-controller-battery-e8:47:3a:46:72:1b/capacity"
@ -60,6 +53,14 @@ in
on-click = "activate"; on-click = "activate";
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 = {
"1" = [ "DP-1" ];
"2" = [ "DP-1" ];
"3" = [ "DP-1" ];
"4" = [ "HDMI-A-1" ];
"5" = [ "HDMI-A-1" ];
"6" = [ "HDMI-A-1" ];
};
}; };
"hyprland/window" = { "hyprland/window" = {

View File

@ -4,10 +4,14 @@
} }
window#waybar { window#waybar {
background: @base; background: transparent;
color: @text; color: @text;
} }
window#waybar > box {
background-color: @base;
}
#wireplumber, #wireplumber,
#mpd, #mpd,
#custom-waybar-mpris, #custom-waybar-mpris,
@ -41,7 +45,7 @@ window#waybar {
} }
#clock { #clock {
margin: 5px 10px 5px 0; margin: 5px 5px 5px 0;
} }
#workspaces { #workspaces {
@ -57,17 +61,14 @@ window#waybar {
} }
#workspaces button:last-child { #workspaces button:last-child {
background: @surface1;
border-radius: 0px 10px 10px 0px; border-radius: 0px 10px 10px 0px;
} }
#workspaces button:first-child { #workspaces button:first-child {
background: @surface1;
border-radius: 10px 0px 0px 10px; border-radius: 10px 0px 0px 10px;
} }
#workspaces button:only-child { #workspaces button:only-child {
background: @surface1;
border-radius: 10px 10px 10px 10px; border-radius: 10px 10px 10px 10px;
} }
@ -77,8 +78,8 @@ window#waybar {
font-weight: bold; font-weight: bold;
} }
#workspaces button.unfocused { #workspaces button.persistent {
color: @text; color: @mantle;
background: @surface1; background: @surface1;
font-weight: bold;
} }

View File

@ -1,4 +1,4 @@
{ config, pkgs, ... }: { ... }:
{ {
xdg.mimeApps = { xdg.mimeApps = {
enable = true; enable = true;

View File

@ -1,4 +1,4 @@
{ config, pkgs, inputs, nix-colors, ... }: { pkgs, inputs, ... }:
{ {
imports = [ imports = [
./configs/beets ./configs/beets
@ -21,28 +21,29 @@
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
qt5ct
bc bc
bottom bottom
calcurse calcurse
libsForQt5.dolphin
libsForQt5.dolphin-plugins
gimp gimp
gnome.file-roller gnome.file-roller
gnome.gnome-boxes
gnome.gvfs gnome.gvfs
gnome.seahorse gnome.seahorse
gnome.simple-scan gnome.simple-scan
libsForQt5.dolphin
libsForQt5.dolphin-plugins
lutris lutris
mesa-demos mesa-demos
nerdfonts nerdfonts
noto-fonts-cjk-sans noto-fonts-cjk-sans
noto-fonts-cjk-serif noto-fonts-cjk-serif
obs-studio obs-studio
openxray
openmw openmw
pavucontrol pavucontrol
protontricks protontricks
qbittorrent
qt5ct
sc-im sc-im
signal-desktop signal-desktop
sshfs sshfs
@ -58,7 +59,6 @@
wineWowPackages.stagingFull wineWowPackages.stagingFull
xdg-utils xdg-utils
xivlauncher xivlauncher
qbittorrent
]; ];
home.sessionVariables = { home.sessionVariables = {
@ -114,9 +114,9 @@
}; };
cursorTheme = { cursorTheme = {
package = pkgs.capitaine-cursors; package = pkgs.catppuccin-cursors.macchiatoLavender;
name = "capitaine-cursors-white"; name = "Catppuccin-Macchiato-Lavender-Cursors";
size = 24; size = 32;
}; };
}; };
@ -144,6 +144,7 @@
}; };
services.gnome-keyring.enable = true; services.gnome-keyring.enable = true;
services.easyeffects = { services.easyeffects = {
enable = true; enable = true;
preset = "DT770"; preset = "DT770";