168 lines
4.0 KiB
Nix
168 lines
4.0 KiB
Nix
{
|
|
inputs,
|
|
config,
|
|
pkgs,
|
|
...
|
|
}:
|
|
{
|
|
imports = [
|
|
../_base
|
|
./hardware-configuration.nix
|
|
./hardware-configuration.override.nix
|
|
|
|
../../modules/sddm.nix
|
|
../../modules/hyprland.nix
|
|
../../modules/hyprpaper.nix
|
|
|
|
../../modules/bash.nix
|
|
../../modules/kitty.nix
|
|
../../modules/git.nix
|
|
../../modules/direnv.nix
|
|
../../modules/firefox.nix
|
|
../../modules/steam.nix
|
|
../../modules/nvim
|
|
];
|
|
|
|
boot.loader.systemd-boot.enable = true;
|
|
boot.loader.efi.canTouchEfiVariables = true;
|
|
|
|
services.btrfs.autoScrub.enable = true;
|
|
|
|
networking.hostName = "kalle-pc";
|
|
networking.networkmanager.enable = true;
|
|
|
|
time.timeZone = "Europe/Amsterdam";
|
|
|
|
services.xserver = {
|
|
enable = true;
|
|
xkb.layout = "us";
|
|
};
|
|
|
|
services.gvfs.enable = true;
|
|
# Allow flashing ZSA keyboards
|
|
hardware.keyboard.zsa.enable = true;
|
|
# No need for firewall, since this machine is always at home
|
|
networking.firewall.enable = false;
|
|
|
|
hyprland =
|
|
let
|
|
mod = "SUPER";
|
|
uwsm = "${pkgs.uwsm}/bin/uwsm";
|
|
mkUwsmApp = pkg: name: "${uwsm} app -- ${pkg}/share/applications/${name}.desktop";
|
|
in
|
|
{
|
|
mod = mod;
|
|
primaryMonitor = "DP-2";
|
|
monitors = [
|
|
{
|
|
name = "DP-2";
|
|
width = 1920;
|
|
height = 1080;
|
|
refreshRate = 144;
|
|
x = 0;
|
|
y = 1080;
|
|
vrr = 1;
|
|
}
|
|
|
|
{
|
|
name = "HDMI-A-1";
|
|
width = 1920;
|
|
height = 1080;
|
|
x = 1500;
|
|
y = 0;
|
|
}
|
|
|
|
{
|
|
name = "HDMI-A-2";
|
|
width = 1920;
|
|
height = 1080;
|
|
x = 1920;
|
|
y = 1080;
|
|
transform = 3;
|
|
}
|
|
];
|
|
|
|
autoStart = [
|
|
"${pkgs.ags}/bin/ags"
|
|
(mkUwsmApp pkgs.firefox "firefox")
|
|
(mkUwsmApp pkgs.discord "discord")
|
|
];
|
|
|
|
binds = {
|
|
"${mod}, return" = "exec, ${mkUwsmApp pkgs.kitty "kitty"}";
|
|
"${mod}, E" = "exec, ${pkgs.ulauncher}/bin/ulauncher-toggle #wofi --show drun";
|
|
"${mod}, Print" = "exec, ${pkgs.bash}/bin/bash -c \"grim -g \\\"$(slurp)\\\" - | wl-copy\"";
|
|
# Clipboard history
|
|
# bind = $mainMod, V, exec, cliphist list | wofi --dmenu | cliphist decode | wl-copy
|
|
};
|
|
|
|
sensitivity = 0.1;
|
|
|
|
layerRules = {
|
|
"gtk-layer-shell" = [
|
|
"blur"
|
|
"ignorezero"
|
|
];
|
|
"notifications2" = [
|
|
"noanim"
|
|
"blur"
|
|
"ignorezero"
|
|
];
|
|
};
|
|
|
|
windowRules = {
|
|
# Auto workspace
|
|
firefox = [ "workspace 1 silent" ];
|
|
discord = [ "workspace name:HDMI-A-2" ];
|
|
};
|
|
|
|
windowRulesV2 = {
|
|
# ULauncher
|
|
"class:^(ulauncher)$" = [
|
|
"dimaround"
|
|
];
|
|
};
|
|
|
|
};
|
|
hyprpaper.wallpaperFolder = "/home/kalle/Pictures/Wallpapers";
|
|
|
|
home-manager.users.kalle = {
|
|
home.packages = with pkgs; [
|
|
discord
|
|
discord-canary
|
|
vesktop
|
|
chromium
|
|
httpie
|
|
kate
|
|
dolphin
|
|
ark
|
|
rustup
|
|
gcc
|
|
prismlauncher
|
|
pavucontrol
|
|
difftastic
|
|
sops
|
|
unzip
|
|
vlc
|
|
feishin
|
|
cachix
|
|
];
|
|
};
|
|
|
|
# This value determines the NixOS release from which the default
|
|
# settings for stateful data, like file locations and database versions
|
|
# on your system were taken. It's perfectly fine and recommended to leave
|
|
# this value at the release version of the first install of this system.
|
|
# Before changing this value read the documentation for this option
|
|
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
|
system.stateVersion = "23.05"; # Did you read the comment?
|
|
# This value determines the Home Manager release that your configuration is
|
|
# compatible with. This helps avoid breakage when a new Home Manager release
|
|
# introduces backwards incompatible changes.
|
|
#
|
|
# You should not change this value, even if you update Home Manager. If you do
|
|
# want to update the value, then make sure to first check the Home Manager
|
|
# release notes.
|
|
home-manager.users.kalle.home.stateVersion = "23.05"; # Please read the comment before changing.
|
|
}
|