Merge pull request #1 from scuggo/main

run nixfmt
This commit is contained in:
Doloro
2025-10-02 11:20:45 +01:00
committed by GitHub
22 changed files with 529 additions and 442 deletions

View File

@@ -2,30 +2,39 @@
# your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
./modules/greetd/nixos.nix
./modules/stylix/nixos.nix
./modules/steam/nixos.nix
./modules/hyprland/nixos.nix
./disks.nix
];
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
./modules/greetd/nixos.nix
./modules/stylix/nixos.nix
./modules/steam/nixos.nix
./modules/hyprland/nixos.nix
./disks.nix
];
# Use the systemd-boot EFI boot loader.
boot.loader.grub.enable = true;
boot.loader.grub.device = "nodev";
boot.loader.grub.devices = ["/dev/disk/by-id/nvme-CT1000P2SSD8_2221E632CD1F"
"nodev"
];
boot.loader.grub.devices = [
"/dev/disk/by-id/nvme-CT1000P2SSD8_2221E632CD1F"
"nodev"
];
#boot.loader.efi.canTouchEfiVariables = true;
boot.loader.grub.efiSupport = true;
boot.loader.grub.efiInstallAsRemovable = true;
nix.settings.experimental-features = ["flakes" "nix-command"];
nix.settings.experimental-features = [
"flakes"
"nix-command"
];
networking.hostName = "doloroo-main"; # Define your hostname.
@@ -34,19 +43,19 @@
# Configure network connections interactively with nmcli or nmtui.
networking.networkmanager.enable = true;
security.rtkit.enable = true;
security.rtkit.enable = true;
sops = {
defaultSopsFile = ./secrets/users.yaml;
secrets = {
root-hashed_password = {
neededForUsers = true;
};
doloro-hashed_password = {
neededForUsers = true;
};
};
};
sops = {
defaultSopsFile = ./secrets/users.yaml;
secrets = {
root-hashed_password = {
neededForUsers = true;
};
doloro-hashed_password = {
neededForUsers = true;
};
};
};
# Set your time zone.
time.timeZone = "Europe/London";
@@ -72,17 +81,18 @@
};
# Load nvidia driver for Xorg and Wayland
services.xserver.videoDrivers = ["nvidia"];
services.xserver.videoDrivers = [ "nvidia" ];
fileSystems."/mnt/2tb" = {
device = "/dev/disk/by-uuid/0f49aec7-4af2-4f4f-b475-3f4fad2b59c2";
fsType = "ext4";
options = [ # If you don't have this options attribute, it'll default to "defaults"
# boot options for fstab. Search up fstab mount options you can use
"defaults"
"users" # Allows any user to mount and unmount
"nofail" # Prevent system from failing if this drive doesn't mount
"exec"
device = "/dev/disk/by-uuid/0f49aec7-4af2-4f4f-b475-3f4fad2b59c2";
fsType = "ext4";
options = [
# If you don't have this options attribute, it'll default to "defaults"
# boot options for fstab. Search up fstab mount options you can use
"defaults"
"users" # Allows any user to mount and unmount
"nofail" # Prevent system from failing if this drive doesn't mount
"exec"
];
};
@@ -93,7 +103,7 @@
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
# Enable this if you have graphical corruption issues or application crashes after waking
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
# of just the bare essentials.
powerManagement.enable = false;
@@ -103,31 +113,31 @@
# Use the NVidia open source kernel module (not to be confused with the
# independent third-party "nouveau" open source driver).
# Support is limited to the Turing and later architectures. Full list of
# supported GPUs is at:
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
# Support is limited to the Turing and later architectures. Full list of
# supported GPUs is at:
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
# Only available from driver 515.43.04+
open = false;
# Enable the Nvidia settings menu,
# accessible via `nvidia-settings`.
# accessible via `nvidia-settings`.
nvidiaSettings = true;
# Optionally, you may need to select the appropriate driver version for your specific GPU.
package = config.boot.kernelPackages.nvidiaPackages.latest;
};
fonts = {
enableDefaultPackages = true;
packages = with pkgs; [
nerd-fonts.jetbrains-mono
material-design-icons
material-symbols
nerd-fonts.caskaydia-cove
nerd-fonts.noto
];
fontDir.enable = true;
};
fonts = {
enableDefaultPackages = true;
packages = with pkgs; [
nerd-fonts.jetbrains-mono
material-design-icons
material-symbols
nerd-fonts.caskaydia-cove
nerd-fonts.noto
];
fontDir.enable = true;
};
# Configure keymap in X11
# services.xserver.xkb.layout = "us";
@@ -146,7 +156,7 @@
# Enable touchpad support (enabled default in most desktopManager).
# services.libinput.enable = true;
services.openssh.enable = true;
services.openssh.enable = true;
users.users.doloro = {
isNormalUser = true;
extraGroups = [ "wheel" ]; # Enable sudo for the user.
@@ -154,10 +164,10 @@
tree
];
};
users.mutableUsers = false;
users.users.doloro.hashedPasswordFile = config.sops.secrets."doloro-hashed_password".path;
# users.users.root.hashedPasswordFile = config.sops.secrets."root-hashed_password".path;
users.users.root.initialPassword = "root";
users.mutableUsers = false;
users.users.doloro.hashedPasswordFile = config.sops.secrets."doloro-hashed_password".path;
# users.users.root.hashedPasswordFile = config.sops.secrets."root-hashed_password".path;
users.users.root.initialPassword = "root";
# programs.firefox.enable = true;
# List packages installed in system profile.
@@ -165,7 +175,7 @@
environment.systemPackages = with pkgs; [
vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
wget
killall
killall
];
# Some programs need SUID wrappers, can be configured further or are
@@ -211,4 +221,3 @@
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
system.stateVersion = "25.11"; # Did you read the comment?
}

View File

@@ -8,48 +8,54 @@
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprland.url = "github:hyprwm/Hyprland";
quickshell = {
url = "git+https://git.outfoxxed.me/outfoxxed/quickshell";
inputs.nixpkgs.follows = "nixpkgs";
};
sops-nix = {
hyprland.url = "github:hyprwm/Hyprland";
quickshell = {
url = "git+https://git.outfoxxed.me/outfoxxed/quickshell";
inputs.nixpkgs.follows = "nixpkgs";
};
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
disko = {
url = "github:nix-community/disko/latest";
inputs.nixpkgs.follows = "nixpkgs";
};
disko = {
url = "github:nix-community/disko/latest";
inputs.nixpkgs.follows = "nixpkgs";
};
stylix = {
url = "github:nix-community/stylix";
inputs.nixpkgs.follows = "nixpkgs";
};
neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay";
nixvim = {
url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs";
url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs";
};
spicetify-nix = {
url = "github:Gerg-L/spicetify-nix";
};
nix-warez = { # Blender-bin
url = "github:edolstra/nix-warez?dir=blender";
};
};
spicetify-nix = {
url = "github:Gerg-L/spicetify-nix";
};
nix-warez = {
# Blender-bin
url = "github:edolstra/nix-warez?dir=blender";
};
};
outputs =
inputs@{ nixpkgs, home-manager, ... }:
let
system = "x86_64-linux";
pkgs = import nixpkgs { inherit system; config = { allowUnfree = true; }; };
overlays = [inputs.neovim-nightly-overlay.overlays.default];
pkgs = import nixpkgs {
inherit system;
config = {
allowUnfree = true;
};
};
overlays = [ inputs.neovim-nightly-overlay.overlays.default ];
in
{
homeConfigurations."doloro" = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
extraSpecialArgs = {
inherit inputs system;
};
extraSpecialArgs = {
inherit inputs system;
};
# Specify your home configuration modules here, for example,
# the path to your home.nix.
@@ -58,11 +64,16 @@
# Optionally use extraSpecialArgs
# to pass through arguments to home.nix
};
nixosConfigurations.doloroo-main = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit inputs system;
};
modules = [ ./configuration.nix inputs.sops-nix.nixosModules.sops inputs.disko.nixosModules.disko {nixpkgs.overlays = overlays;} ];
};
nixosConfigurations.doloroo-main = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit inputs system;
};
modules = [
./configuration.nix
inputs.sops-nix.nixosModules.sops
inputs.disko.nixosModules.disko
{ nixpkgs.overlays = overlays; }
];
};
};
}

View File

@@ -1,14 +1,25 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
config,
lib,
pkgs,
modulesPath,
...
}:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" ];
boot.initrd.availableKernelModules = [
"nvme"
"xhci_pci"
"ahci"
"usbhid"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];

View File

@@ -1,25 +1,31 @@
{ inputs, config, pkgs, fetchFromGitHub, ... }:
{
inputs,
config,
pkgs,
fetchFromGitHub,
...
}:
{
imports = [
./modules/hyprland/home.nix
./modules/quickshell/home.nix
./modules/chromium/home.nix
#./modules/neovim/home.nix
./modules/stylix/home.nix
./modules/nixvim/home.nix
./modules/tmux/home.nix
./modules/theme/home.nix
./modules/spicetify/home.nix
./modules/obs/home.nix
./modules/blender/home.nix
./overlays.nix
];
imports = [
./modules/hyprland/home.nix
./modules/quickshell/home.nix
./modules/chromium/home.nix
#./modules/neovim/home.nix
./modules/stylix/home.nix
./modules/nixvim/home.nix
./modules/tmux/home.nix
./modules/theme/home.nix
./modules/spicetify/home.nix
./modules/obs/home.nix
./modules/blender/home.nix
./overlays.nix
];
# Home Manager needs a bit of information about you and the paths it should
# manage.
home.username = "doloro";
home.homeDirectory = "/home/doloro";
programs.git = {
enable = true;
userName = "Doloro1978";
@@ -39,13 +45,13 @@
# environment.
home.packages = with pkgs; [
hello
vim
telegram-desktop
vesktop
# spotify
pavucontrol
lazygit
btop
vim
telegram-desktop
vesktop
# spotify
pavucontrol
lazygit
btop
];
# Home Manager is pretty good at managing dotfiles. The primary way to manage
@@ -86,35 +92,35 @@
dunst = {
enable = true;
};
arrpc = {
enable = true;
package = pkgs.arrpc;
};
arrpc = {
enable = true;
package = pkgs.arrpc;
};
};
# {{{{{ TODO Put in different file
systemd.user.services.pw-discordaudio-virtual-device = {
Install = {
WantedBy = [ "hyprland-session.target" ];
};
Service = {
ExecStart = "${pkgs.writeShellScript "discord_audio_virt_device" ''
#!/run/current-system/sw/bin/bash
pw-loopback -m '[ FL FR]' --capture-props='media.class=Audio/Sink node.name=DiscordSink' -n DiscordSink
''}";
};
};
systemd.user.services.pw-gameaudio-virtual-device = {
Install = {
WantedBy = [ "hyprland-session.target" ];
};
Service = {
ExecStart = "${pkgs.writeShellScript "game_audio_virt_device" ''
#!/run/current-system/sw/bin/bash
pw-loopback -m '[ FL FR]' --capture-props='media.class=Audio/Sink node.name=GameAudioSink' -n GameAudioSink
''}";
};
};
# }}}}}
# {{{{{ TODO Put in different file
systemd.user.services.pw-discordaudio-virtual-device = {
Install = {
WantedBy = [ "hyprland-session.target" ];
};
Service = {
ExecStart = "${pkgs.writeShellScript "discord_audio_virt_device" ''
#!/run/current-system/sw/bin/bash
pw-loopback -m '[ FL FR]' --capture-props='media.class=Audio/Sink node.name=DiscordSink' -n DiscordSink
''}";
};
};
systemd.user.services.pw-gameaudio-virtual-device = {
Install = {
WantedBy = [ "hyprland-session.target" ];
};
Service = {
ExecStart = "${pkgs.writeShellScript "game_audio_virt_device" ''
#!/run/current-system/sw/bin/bash
pw-loopback -m '[ FL FR]' --capture-props='media.class=Audio/Sink node.name=GameAudioSink' -n GameAudioSink
''}";
};
};
# }}}}}
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
}

View File

@@ -1,11 +1,18 @@
{ inputs, pkgs, home, system, ... }:
let
blenderPkgs = inputs.nix-warez.packages.${system};
in {
# whole blender config including addons is too fat to include here
home.packages = with pkgs; [
blenderPkgs.blender_4_5
];
# nix'ing a blender config is most likely not possible
# could probs install blender addons through nix since they are fat fat mega fat to install TODO
{
inputs,
pkgs,
home,
system,
...
}:
let
blenderPkgs = inputs.nix-warez.packages.${system};
in
{
# whole blender config including addons is too fat to include here
home.packages = with pkgs; [
blenderPkgs.blender_4_5
];
# nix'ing a blender config is most likely not possible
# could probs install blender addons through nix since they are fat fat mega fat to install TODO
}

View File

@@ -1,19 +1,24 @@
{ inputs, pkgs, system, ... }:
let
{
inputs,
pkgs,
system,
...
}:
let
in
{
programs.chromium = {
enable = true;
extensions = [
{ id = "ghmbeldphafepmbegfdlkpapadhbakde"; } # ProtonPass
#{ id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; } # Ublok
{ id = "ddkjiahejlhfcafbddmgiahcphecmpfh"; } # Ublock lite
{ id = "kpmjjdhbcfebfjgdnpjagcndoelnidfj"; } # Control panel for twitter
{ id = "aighbdamfnndbemigjcbkdklkegkgmpl"; } # Better twitter embeds
{ id = "enamippconapkdmgfgjchkhakpfinmaj"; } # DeArrow
{ id = "bjcnpgekponkjpincbcoflgkdomldlnl"; } # Website Blocker
];
package = pkgs.chromium.override { enableWideVine = true; };
};
programs.chromium = {
enable = true;
extensions = [
{ id = "ghmbeldphafepmbegfdlkpapadhbakde"; } # ProtonPass
#{ id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; } # Ublok
{ id = "ddkjiahejlhfcafbddmgiahcphecmpfh"; } # Ublock lite
{ id = "kpmjjdhbcfebfjgdnpjagcndoelnidfj"; } # Control panel for twitter
{ id = "aighbdamfnndbemigjcbkdklkegkgmpl"; } # Better twitter embeds
{ id = "enamippconapkdmgfgjchkhakpfinmaj"; } # DeArrow
{ id = "bjcnpgekponkjpincbcoflgkdomldlnl"; } # Website Blocker
];
package = pkgs.chromium.override { enableWideVine = true; };
};
}

View File

@@ -12,7 +12,7 @@ in
options.modules.greetd = {
enable = lib.mkEnableOption "Greetd configuration module";
};
config = {
config = {
services.greetd = {
enable = true;
settings = {
@@ -21,7 +21,7 @@ in
user = "greeter";
};
};
};
};
systemd.services.greetd.serviceConfig = {
Type = "idle";
StandardInput = "tty";
@@ -32,5 +32,5 @@ in
TTYVHangup = true;
TTYVTDisallocate = true;
};
};
};
}

View File

@@ -1,34 +1,35 @@
{ inputs, pkgs, ... }:
let
let
in
{
imports = [
./settings.nix
./runner.nix
./screenshot.nix
];
wayland.windowManager.hyprland = {
enable = true;
# set the flake package
# settings = { };
systemd.variables = ["--all"];
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
};
imports = [
./settings.nix
./runner.nix
./screenshot.nix
];
wayland.windowManager.hyprland = {
enable = true;
# set the flake package
# settings = { };
systemd.variables = [ "--all" ];
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
portalPackage =
inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
};
# todo, split this into its own module;
programs.foot = {
enable = true;
settings = {
main = {
term = "xterm-256color";
main = {
term = "xterm-256color";
font = "CaskaydiaCove Nerd Font Mono:size=12";
font = "CaskaydiaCove Nerd Font Mono:size=12";
};
mouse = {
hide-when-typing = "yes";
};
};
mouse = {
hide-when-typing = "yes";
};
};
};
}

View File

@@ -10,10 +10,10 @@
portalPackage =
inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
};
xdg.portal = {
enable = true;
extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
};
xdg.portal = {
enable = true;
extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
};
environment.sessionVariables.NIXOS_OZONE_WL = "1";
nix.settings = {
substituters = [ "https://hyprland.cachix.org" ];

View File

@@ -1,6 +1,7 @@
{ inputs, pkgs, ... }:
{ inputs, pkgs, ... }:
let
in {
in
{
programs.wofi.enable = true;
}

View File

@@ -1,11 +1,12 @@
{ inputs, pkgs, ... }:
{ inputs, pkgs, ... }:
let
in {
in
{
home.packages = with pkgs; [
wl-clipboard
wayfreeze
grim
slurp
];
wl-clipboard
wayfreeze
grim
slurp
];
}

View File

@@ -1,145 +1,152 @@
{ inputs, pkgs, ... }:
{
wayland.windowManager.hyprland.settings = {
monitor = [
"HDMI-A-1, 1920x1080@60, 0x0, 1"
"DP-3, 1920x1080@144, 1920x0, 1"
];
exec-once = [
"hyprctl dispatch workspace 2" # shit solution to get quickshell on the right monitor
];
env = [
"XCURSOR_SIZE,24"
"HYPRCURSOR_SIZE,24"
"LIBVA_DRIVER_NAME,nvidia"
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
"WEBKIT_DISABLE_DMABUF_RENDERER,1" # maybe disable if nixos fixes alcom
];
general = {
gaps_in = 1;
gaps_out = 1;
border_size = 1;
# col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
# col.inactive_border = rgba(595959aa)
resize_on_border = false;
allow_tearing = true;
layout = "dwindle";
};
decoration = {
rounding = 0;
rounding_power = 1;
active_opacity = 1.0;
inactive_opacity = 1.0;
wayland.windowManager.hyprland.settings = {
monitor = [
"HDMI-A-1, 1920x1080@60, 0x0, 1"
"DP-3, 1920x1080@144, 1920x0, 1"
];
exec-once = [
"hyprctl dispatch workspace 2" # shit solution to get quickshell on the right monitor
];
env = [
"XCURSOR_SIZE,24"
"HYPRCURSOR_SIZE,24"
"LIBVA_DRIVER_NAME,nvidia"
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
"WEBKIT_DISABLE_DMABUF_RENDERER,1" # maybe disable if nixos fixes alcom
];
general = {
gaps_in = 1;
gaps_out = 1;
border_size = 1;
# col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
# col.inactive_border = rgba(595959aa)
resize_on_border = false;
allow_tearing = true;
layout = "dwindle";
};
decoration = {
rounding = 0;
rounding_power = 1;
active_opacity = 1.0;
inactive_opacity = 1.0;
shadow = {
enabled = false;
};
shadow = {
enabled = false;
};
blur = {
enabled = false;
};
};
animations = {
enabled = true;
bezier = [
"easeOutQuint,0.23,1,0.32,1"
"easeInOutCubic,0.65,0.05,0.36,1"
"linear,0,0,1,1"
"almostLinear,0.5,0.5,0.75,1.0"
"quick,0.15,0,0.1,1"
];
animation = [
"global, 1, 10, default"
"border, 1, 5.39, easeOutQuint"
"windows, 1, 2.79, easeOutQuint"
"windowsIn, 1, 1.1, easeOutQuint, popin 87%"
"windowsOut, 1, 1.49, linear, popin 87%"
"fadeIn, 1, 1.73, almostLinear"
"fadeOut, 1, 1.46, almostLinear"
"fade, 1, 2.03, quick"
"layers, 1, 3.81, easeOutQuint"
"layersIn, 1, 4, easeOutQuint, fade"
"layersOut, 1, 1.5, linear, fade"
"fadeLayersIn, 1, 1.79, almostLinear"
"fadeLayersOut, 1, 1.39, almostLinear"
"workspaces, 1, 1.94, almostLinear, fade"
"workspacesIn, 1, 1.21, almostLinear, fade"
"workspacesOut, 1, 1.94, almostLinear, fade"
"zoomFactor, 1, 7, quick"
];
};
dwindle = {
pseudotile = true;
preserve_split = true;
};
# master = {
# new_status = master;
# };
misc = {
force_default_wallpaper = -1;
disable_hyprland_logo = false;
enable_anr_dialog = false;
};
input = {
kb_layout = "gb";
follow_mouse = 2;
sensitivity = -0.5;
};
"$mainMod" = "SUPER";
bind = [
"$mainMod, Q, exec, foot"
"$mainMod, C, killactive"
"$mainMod, M, exit"
"$mainMod, E, exec, $fileManager"
"$mainMod, V, togglefloating,"
"$mainMod, R, exec, wofi --show drun"
"$mainMod, P, pseudo, # dwindle"
"$mainMod, J, togglesplit, # dwindle"
"$mainMod, left, movefocus, l"
"$mainMod, right, movefocus, r"
"$mainMod, up, movefocus, u"
"$mainMod, down, movefocus, d"
("$mainMod, S, exec, " + ''wayfreeze --after-freeze-cmd 'grim -g "$(slurp -d)" - | wl-copy -t image/png;killall wayfreeze' --hide-cursor'')
"$mainMod, F, fullscreen"
"$mainMod, mouse_down, workspace, e+1"
"$mainMod, mouse_up, workspace, e-1"
", home, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
", end, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
", F8, pass, class:^(com\.obsproject\.Studio)$"
"$mainMod, 0, workspace, 10"
"$mainMod SHIFT, 0, movetoworkspace, 10"
] ++ (
builtins.concatLists (
builtins.genList(i: let ws = i + 1; in [
"$mainMod, ${toString ws}, workspace, ${toString ws}"
"$mainMod SHIFT, ${toString ws}, movetoworkspace, ${toString ws}"
]
) 9
)
);
bindm = [
"$mainMod, mouse:272, movewindow"
"$mainMod, mouse:273, resizewindow"
];
workspace = [
"name:2, monitor:DP-3"
];
windowrule = [
"suppressevent maximize, class:.*"
"workspace 5, class:^(gamescope)$"
"fullscreen, class:^(gamescope)$"
"immediate, class:^(gamescope)$"
"workspace 6 silent, class:^(steam)$"
"workspace 8 silent, class:^(vesktop)$"
"workspace 8 silent, class:^(org.telegram.desktop)$"
"workspace 10 silent, class:^(com.obsproject.Studio)$"
"workspace 1 silent, initialTitle:^(Discord Popout)$"
];
windowrulev2 = [
"noinitialfocus, class:.*"
];
# exec-once = [
# ];
# we need to auto launch: quickshell, steam, ar_rpc (maybe), vesktop, telegram, qbit, and obs
};
blur = {
enabled = false;
};
};
animations = {
enabled = true;
bezier = [
"easeOutQuint,0.23,1,0.32,1"
"easeInOutCubic,0.65,0.05,0.36,1"
"linear,0,0,1,1"
"almostLinear,0.5,0.5,0.75,1.0"
"quick,0.15,0,0.1,1"
];
animation = [
"global, 1, 10, default"
"border, 1, 5.39, easeOutQuint"
"windows, 1, 2.79, easeOutQuint"
"windowsIn, 1, 1.1, easeOutQuint, popin 87%"
"windowsOut, 1, 1.49, linear, popin 87%"
"fadeIn, 1, 1.73, almostLinear"
"fadeOut, 1, 1.46, almostLinear"
"fade, 1, 2.03, quick"
"layers, 1, 3.81, easeOutQuint"
"layersIn, 1, 4, easeOutQuint, fade"
"layersOut, 1, 1.5, linear, fade"
"fadeLayersIn, 1, 1.79, almostLinear"
"fadeLayersOut, 1, 1.39, almostLinear"
"workspaces, 1, 1.94, almostLinear, fade"
"workspacesIn, 1, 1.21, almostLinear, fade"
"workspacesOut, 1, 1.94, almostLinear, fade"
"zoomFactor, 1, 7, quick"
];
};
dwindle = {
pseudotile = true;
preserve_split = true;
};
# master = {
# new_status = master;
# };
misc = {
force_default_wallpaper = -1;
disable_hyprland_logo = false;
enable_anr_dialog = false;
};
input = {
kb_layout = "gb";
follow_mouse = 2;
sensitivity = -0.5;
};
"$mainMod" = "SUPER";
bind = [
"$mainMod, Q, exec, foot"
"$mainMod, C, killactive"
"$mainMod, M, exit"
"$mainMod, E, exec, $fileManager"
"$mainMod, V, togglefloating,"
"$mainMod, R, exec, wofi --show drun"
"$mainMod, P, pseudo, # dwindle"
"$mainMod, J, togglesplit, # dwindle"
"$mainMod, left, movefocus, l"
"$mainMod, right, movefocus, r"
"$mainMod, up, movefocus, u"
"$mainMod, down, movefocus, d"
(
"$mainMod, S, exec, "
+ ''wayfreeze --after-freeze-cmd 'grim -g "$(slurp -d)" - | wl-copy -t image/png;killall wayfreeze' --hide-cursor''
)
"$mainMod, F, fullscreen"
"$mainMod, mouse_down, workspace, e+1"
"$mainMod, mouse_up, workspace, e-1"
", home, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
", end, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
", F8, pass, class:^(com\.obsproject\.Studio)$"
"$mainMod, 0, workspace, 10"
"$mainMod SHIFT, 0, movetoworkspace, 10"
]
++ (builtins.concatLists (
builtins.genList (
i:
let
ws = i + 1;
in
[
"$mainMod, ${toString ws}, workspace, ${toString ws}"
"$mainMod SHIFT, ${toString ws}, movetoworkspace, ${toString ws}"
]
) 9
));
bindm = [
"$mainMod, mouse:272, movewindow"
"$mainMod, mouse:273, resizewindow"
];
workspace = [
"name:2, monitor:DP-3"
];
windowrule = [
"suppressevent maximize, class:.*"
"workspace 5, class:^(gamescope)$"
"fullscreen, class:^(gamescope)$"
"immediate, class:^(gamescope)$"
"workspace 6 silent, class:^(steam)$"
"workspace 8 silent, class:^(vesktop)$"
"workspace 8 silent, class:^(org.telegram.desktop)$"
"workspace 10 silent, class:^(com.obsproject.Studio)$"
"workspace 1 silent, initialTitle:^(Discord Popout)$"
];
windowrulev2 = [
"noinitialfocus, class:.*"
];
# exec-once = [
# ];
# we need to auto launch: quickshell, steam, ar_rpc (maybe), vesktop, telegram, qbit, and obs
};
}

View File

@@ -1,12 +1,18 @@
{ inputs, pkgs, config, ... }:
let
{
inputs,
pkgs,
config,
...
}:
let
in {
home.packages = [
inputs.neovim-nightly-overlay.packages.${pkgs.system}.default
];
xdg.configFile."nvim" = {
recursive = true;
source = config.lib.file.mkOutOfStoreSymlink "/home/doloro/dotfiles/nvim";
};
in
{
home.packages = [
inputs.neovim-nightly-overlay.packages.${pkgs.system}.default
];
xdg.configFile."nvim" = {
recursive = true;
source = config.lib.file.mkOutOfStoreSymlink "/home/doloro/dotfiles/nvim";
};
}

View File

@@ -1,7 +1,8 @@
{ inputs, pkgs, ... }:{
{ inputs, pkgs, ... }:
{
imports = [
inputs.nixvim.homeModules.nixvim
];
];
programs.nixvim = {
enable = true;
defaultEditor = true;
@@ -20,7 +21,7 @@
vimPlugins.mini-completion
vimPlugins.mini-comment
vimPlugins.melange-nvim
vimPlugins.telescope-file-browser-nvim
vimPlugins.telescope-file-browser-nvim
];
opts = {
number = true;

View File

@@ -1,3 +1,4 @@
{ inputs, ... }: {
{ inputs, ... }:
{
}

View File

@@ -1,16 +1,17 @@
{ inputs, pkgs, ... }: {
programs = {
obs-studio = {
enable = true;
package = (
pkgs.obs-studio.override {
cudaSupport = true;
}
);
plugins = with pkgs.obs-studio-plugins; [
obs-pipewire-audio-capture
obs-vkcapture
];
};
};
{ inputs, pkgs, ... }:
{
programs = {
obs-studio = {
enable = true;
package = (
pkgs.obs-studio.override {
cudaSupport = true;
}
);
plugins = with pkgs.obs-studio-plugins; [
obs-pipewire-audio-capture
obs-vkcapture
];
};
};
}

View File

@@ -1,24 +1,30 @@
{ inputs, config, pkgs, system, ... }:
let
pkg = inputs.quickshell.packages.${system}.quickshell;
{
inputs,
config,
pkgs,
system,
...
}:
let
pkg = inputs.quickshell.packages.${system}.quickshell;
in
{
xdg.configFile."quickshell" = {
recursive = true;
source = config.lib.file.mkOutOfStoreSymlink "/home/doloro/dotfiles/quickshell/";
};
systemd.user.services.quickshell = {
Unit = {
Description = "Quickshell daemon";
After = [ "hyprland-session.target" ];
};
Install = {
WantedBy = [ "default.target" ];
};
Service = {
ExecStart = "${pkg}/bin/quickshell";
Restart = "on-failure";
RestartSec = "5s";
};
xdg.configFile."quickshell" = {
recursive = true;
source = config.lib.file.mkOutOfStoreSymlink "/home/doloro/dotfiles/quickshell/";
};
systemd.user.services.quickshell = {
Unit = {
Description = "Quickshell daemon";
After = [ "hyprland-session.target" ];
};
Install = {
WantedBy = [ "default.target" ];
};
Service = {
ExecStart = "${pkg}/bin/quickshell";
Restart = "on-failure";
RestartSec = "5s";
};
};
}

View File

@@ -1,28 +1,29 @@
{ inputs, pkgs, ... }:
{ inputs, pkgs, ... }:
let
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.stdenv.hostPlatform.system};
in {
imports = [
inputs.spicetify-nix.homeManagerModules.default
];
programs.spicetify = {
enable = true;
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.stdenv.hostPlatform.system};
in
{
imports = [
inputs.spicetify-nix.homeManagerModules.default
];
programs.spicetify = {
enable = true;
enabledExtensions = with spicePkgs.extensions; [
adblock
hidePodcasts
shuffle # shuffle+ (special characters are sanitized out of extension names)
];
enabledCustomApps = with spicePkgs.apps; [
newReleases
# ncsVisualizer
];
enabledSnippets = with spicePkgs.snippets; [
# rotatingCoverart
pointer
];
enabledExtensions = with spicePkgs.extensions; [
adblock
hidePodcasts
shuffle # shuffle+ (special characters are sanitized out of extension names)
];
enabledCustomApps = with spicePkgs.apps; [
newReleases
# ncsVisualizer
];
enabledSnippets = with spicePkgs.snippets; [
# rotatingCoverart
pointer
];
theme = spicePkgs.themes.catppuccin;
colorScheme = "mocha";
};
theme = spicePkgs.themes.catppuccin;
colorScheme = "mocha";
};
}

View File

@@ -29,8 +29,11 @@
keyutils
mangohud
gamemode
lsof
(gamescope.overrideAttrs { enableWsi = true; NIX_CFLAGS_COMPILE = ["-fno-fast-math"]; })
lsof
(gamescope.overrideAttrs {
enableWsi = true;
NIX_CFLAGS_COMPILE = [ "-fno-fast-math" ];
})
];
};
};

View File

@@ -1,4 +1,5 @@
{ inputs, ... }: {
{ inputs, ... }:
{
services.dunst = {
settings = {
global = {

View File

@@ -1,4 +1,9 @@
{ inputs, pkgs, fetchFromGitHub, ... }:
{
inputs,
pkgs,
fetchFromGitHub,
...
}:
{
programs.tmux = {
enable = true;
@@ -7,9 +12,9 @@
minimal-tmux-status
];
extraConfig = ''
set-option -g default-terminal "tmux-256color"
set -g status-bg black
set -g status-fg white
set-option -g default-terminal "tmux-256color"
set -g status-bg black
set -g status-fg white
'';
};
}

View File

@@ -1,16 +1,19 @@
{ pkgs, lib, ... }:
let
arrpc_overlay = (self: super: {
arrpc = super.arrpc.overrideAttrs (prev: {
version = "git";
src = pkgs.fetchFromGitHub {
owner = "Doloro1978";
repo = "arrpc";
tag = "tag3";
sha256 = "sha256-9Tnw/BmIAA+RPAfhHFv0kenrRdoxJuUw3iRjKykGxdE=";
};
});
});
in {
nixpkgs.overlays = [ arrpc_overlay ];
let
arrpc_overlay = (
self: super: {
arrpc = super.arrpc.overrideAttrs (prev: {
version = "git";
src = pkgs.fetchFromGitHub {
owner = "Doloro1978";
repo = "arrpc";
tag = "tag3";
sha256 = "sha256-9Tnw/BmIAA+RPAfhHFv0kenrRdoxJuUw3iRjKykGxdE=";
};
});
}
);
in
{
nixpkgs.overlays = [ arrpc_overlay ];
}