This commit is contained in:
Dragyx 2024-04-18 19:24:07 +02:00
commit 91d2c0f36d
25 changed files with 195 additions and 35 deletions

View file

@ -1,5 +1,10 @@
{ config, inputs, pkgs, ... }:
{
imports = [
./hyprland.nix
./programs.nix
];
nixpkgs.config.allowUnfree = true;
time.timeZone = "Europe/Zurich";
security.sudo.package = pkgs.sudo.override { withInsults = true; };
@ -29,7 +34,8 @@
profiling = false;
extraAliases = {
cls = "clear";
Hyprland = "dbus-run-session Hyprland";
Hyprland = "dbus-run-session Hyprland";
y = "yazi";
};
ohmyzsh = {
enable = true;
@ -55,6 +61,14 @@
install_url = "https://addons.mozilla.org/firefox/downloads/file/4231522/new_tab_override-16.0.0.xpi";
installation_mode = "force_installed";
};
"keepassxc-browser@keepassxc.org" = {
install_url = "https://addons.mozilla.org/firefox/downloads/file/4257616/keepassxc_browser-1.9.0.3.xpi";
installation_mode = "force_installed";
};
"{7be2ba16-0f1e-4d93-9ebc-5164397477a9}" = {
install_url = "https://addons.mozilla.org/firefox/downloads/file/3756025/videospeed-0.6.3.3.xpi";
installation_mode = "force_installed";
};
};
};
@ -62,6 +76,10 @@
enable = true;
catppuccin = true;
};
neovim = {
enable = true;
};
};
services = {
@ -99,6 +117,13 @@
console.keyMap = "sg";
# services.flatpak.enable = true;
services = {
twingate.enable = true;
};
# SSH AGENT
programs.ssh.startAgent = true;
services.gnome3.gnome-keyring.enable = false;
system.stateVersion = "23.11";
nix.settings.experimental-features = ["nix-command" "flakes"];

View file

@ -10,6 +10,7 @@
hyprland = {
enable = true;
monitor = [",preferred,auto,2"];
wallpaper = "wallpaper/wave.jpg";
};
};
}

View file

@ -1,8 +1,6 @@
_: {
imports = [
../.
./../programs.nix
./../hyprland.nix
./programs.nix
./configuration.nix
./hardware-configuration.nix

View file

@ -5,5 +5,6 @@ _: {
../../../options/common/networking.nix
../../../options/common/pin-registry.nix
../../../options/common/preserve-system.nix
../../../options/common/bluetooth.nix
];
}

View file

@ -2,6 +2,7 @@
with lib; let
username = config.modules.other.system.username;
cfg = config.modules.hyprland;
gitPath = config.modules.other.system.gitPath;
in {
imports = [
./waybar.nix
@ -20,6 +21,11 @@ in {
default = {};
type = types.attrs;
};
wallpaper = mkOption {
description = "wallpaper relative from assets";
default = "";
type = types.str;
};
};
config = mkIf cfg.enable {
@ -84,6 +90,10 @@ in {
exec-once = [
"waybar"
"swww init & swww img ${gitPath}/${cfg.wallpaper}"
"keepassxc"
"nextcloud"
"element-desktop --ozone-platform=wayland --enable-features=UseOzonePlatform --enable-features=WaylandWindowDecorations --enable-features=WebRTCPipeWireCpaturer --disable-gpu"
];
bind = [
@ -100,6 +110,7 @@ in {
"$mod, o, exec, obsidian --ozone-platform=wayland --enable-features=UseOzonePlatform --enable-features=WaylandWindowDecorations --enable-features=WebRTCPipeWireCpaturer --disable-gpu"
"$mod SHIFT, D, exec, webcord --ozone-platform=wayland --enable-features=UseOzonePlatform --enable-features=WaylandWindowDecorations --enable-features=WebRTCPipeWireCpaturer --disable-gpu"
"$mod SHIFT, L, exec, element-desktop --ozone-platform=wayland --enable-features=UseOzonePlatform --enable-features=WaylandWindowDecorations --enable-features=WebRTCPipeWireCpaturer --disable-gpu"
"$mod, v, exec, vivaldi --ozone-platform=wayland --enable-features=UseOzonePlatform --enable-features=WaylandWindowDecorations --enable-features=WebRTCPipeWireCpaturer --disable-gpu"
# Monitor management
"$mod SHIFT, k, movecurrentworkspacetomonitor, DP-2"
@ -112,8 +123,13 @@ in {
"$mod, down, movefocus, d"
"$mod, F, fullscreen"
# Special Workspaces
"$mod SHIFT, F, movetoworkspacesilent, special"
"$mod, s, togglespecialworkspace,"
# Screenshot
"$mod SHIFT, s, exec, grim -g '$(slurp -d)' - | wl-copy"
"$mod SHIFT, s, exec, grim -g \"$(slurp -d)\" - | wl-copy"
]
++ (
builtins.concatLists (builtins.genList (
@ -129,6 +145,11 @@ in {
)
10)
);
# Mouse movement
bindm = [
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
];
} cfg.extra];
};
};

View file

@ -13,6 +13,11 @@
opacity = 0.8;
blur = true;
};
steam = {
enable = true;
gamescope = true;
};
};
hyprland = {
@ -22,11 +27,12 @@
"DP-2,2560x1440@144,0x0,1"
"DP-1,1920x1080@60,2560x0,1"
];
extra = {
exec-once = [
"hyprctl dispatch moveworkspacetomonitor 1 DP-2"
];
};
extra = {
exec-once = [
"hyprctl dispatch moveworkspacetomonitor 1 DP-2"
];
};
wallpaper = "wallpaper/wave.jpg";
};
};

View file

@ -1,8 +1,6 @@
_: {
imports = [
../.
./../programs.nix
./../hyprland.nix
./programs.nix
./configuration.nix
./hardware-configuration.nix

View file

@ -6,5 +6,6 @@ _: {
../../../options/common/gpu/nvidia.nix
../../../options/common/pin-registry.nix
../../../options/common/preserve-system.nix
../../../options/common/bluetooth.nix
];
}

View file

@ -1,6 +1,30 @@
{ config, inputs, pkgs, ... }:
{ config, inputs, pkgs, lib, ... }:
let
username = config.modules.other.system.username;
# Fetch the GLFW with Wayland patches for Minecraft
customGLFW = let
mcWaylandPatchRepo = pkgs.fetchFromGitHub {
owner = "Admicos";
repo = "minecraft-wayland";
rev = "370ce5b95e3ae9bc4618fb45113bc641fbb13867";
sha256 = "sha256-RPRg6Gd7N8yyb305V607NTC1kUzvyKiWsh6QlfHW+JE=";
};
mcWaylandPatches = map (name: "${mcWaylandPatchRepo}/${name}")
(lib.naturalSort (builtins.attrNames (lib.filterAttrs
(name: type:
type == "regular" && lib.hasSuffix ".patch" name)
(builtins.readDir mcWaylandPatchRepo))));
in pkgs.glfw.overrideAttrs (previousAttrs: {
patches = previousAttrs.patches ++ mcWaylandPatches;
buildInputs = previousAttrs.buildInputs ++ [ pkgs.wayland ];
});
# Minecraft launcher with the custom GLFW
minecraftPrismLauncher = pkgs.prismlauncher.override {
glfw = customGLFW;
};
in {
home-manager.users.${username} = {
home.packages = let
@ -9,4 +33,9 @@ in {
in with pkgs; [
];
};
# System-wide installation of Minecraft PrismLauncher
environment.systemPackages = [
minecraftPrismLauncher
];
}

View file

@ -43,7 +43,6 @@ in {
smartmontools
python3
rustdesk
neovim
tmux
kitty
nextcloud-client
@ -57,6 +56,15 @@ in {
xdg-utils # xdg-mime script
webcord
element-desktop
swww
toipe
keepassxc
vivaldi
yubikey-personalization-gui
yubikey-personalization
yubioath-flutter
fzf
nix-index
];
};
}

View file

@ -26,6 +26,7 @@ in {
ffmpeg_6-full
flameshot
foot
img2pdf
gcc
gdb
gnumake
@ -47,6 +48,7 @@ in {
pamixer
pavucontrol
pcmanfm
pdfarranger
pfetch
playerctl
polkit