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

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

BIN
assets/wallpaper/asura.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

BIN
assets/wallpaper/lights.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

BIN
assets/wallpaper/nix.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 454 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

BIN
assets/wallpaper/totk.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 MiB

BIN
assets/wallpaper/wave.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 MiB

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; };
@ -30,6 +35,7 @@
extraAliases = {
cls = "clear";
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 = {
@ -27,6 +32,7 @@
"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

View file

@ -14,5 +14,6 @@ _: {
./WM
./alacritty.nix
./firefox.nix
./steam.nix
];
}

View file

@ -50,6 +50,8 @@ in {
};
};
OfferToSaveLogins = false;
font = "Lexend";
ExtensionSettings = lib.mkMerge [{
"uBlock0@raymondhill.net" = {

22
modules/gui/steam.nix Normal file
View file

@ -0,0 +1,22 @@
{ config, lib, inputs, pkgs, ... }:
with lib; let
username = config.modules.other.system.username;
cfg = config.modules.programs.steam;
in {
options.modules.programs.steam = {
enable = mkEnableOption "steam";
gamescope = mkEnableOption "gamescope";
};
config = mkIf cfg.enable {
programs.steam = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
gamescopeSession.enable = mkIf cfg.gamescope true;
};
home-manager.users.${username} = {
};
};
}

View file

@ -82,6 +82,7 @@ in {
java-language-server.enable = true;
#pylyzer.enable = true;
rnix-lsp.enable = true;
pyright.enable = true;
};
#onAttach = ''
# vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
@ -159,10 +160,35 @@ in {
enable = true;
settings.theme = "dark";
};
};
extraPlugins = with pkgs.vimPlugins; [
zen-mode-nvim
lazygit-nvim
];
keymaps = [
{
mode = "n";
key = "<leader>pv";
action = "<cmd>Explore<CR>";
}
{
mode = "n";
key = "<leader>w";
action = "<cmd>w<CR>";
}
{
mode = "n";
key = "<leader>qw";
action = "<cmd>q<CR>";
}
{
mode = "n";
key = "<leader>gg";
action = "<cmd>LazyGit<CR>";
}
];
};
};

View file

@ -0,0 +1,19 @@
{ config, lib, pkgs, ... }:
let
username = config.modules.other.system.username;
in {
hardware.bluetooth = {
enable = true;
powerOnBoot = true;
};
services.blueman.enable = true;
# Bluetooth headset media control buttons
systemd.user.services.mpris-proxy = {
description = "Mpris proxy";
after = [ "network.target" "sound.target" ];
wantedBy = [ "default.target" ];
serviceConfig.ExecStart = "${pkgs.bluez}/bin/mpris-proxy";
};
}