Add wallpaper and re-arrange things. This will break things. I know it.
This commit is contained in:
parent
183b653c25
commit
6118df7daf
13 changed files with 414 additions and 55 deletions
11
README.md
11
README.md
|
@ -2,11 +2,16 @@
|
||||||
Repo for nix configuration files
|
Repo for nix configuration files
|
||||||
---
|
---
|
||||||
# Information
|
# Information
|
||||||
|
### Home Manager
|
||||||
* Home Manager Documentation - [Link](https://nix-community.github.io/home-manager/index.html)
|
* Home Manager Documentation - [Link](https://nix-community.github.io/home-manager/index.html)
|
||||||
* Home Manager Options Search - [Link](https://mipmip.github.io/home-manager-option-search/)
|
* Home Manager Options Search - [Link](https://mipmip.github.io/home-manager-option-search/)
|
||||||
|
|
||||||
|
### NixOS
|
||||||
* NixOS Documentation - Stable - [Link](https://nixos.org/manual/nixos/stable/)
|
* NixOS Documentation - Stable - [Link](https://nixos.org/manual/nixos/stable/)
|
||||||
* NixOS Packages / Options Search - [Link](https://search.nixos.org/)
|
* NixOS Packages / Options Search - [Link](https://search.nixos.org/)
|
||||||
* Nix User Repository (NUR) Search - [Link](https://nur.nix-community.org/)
|
* Nix User Repository (NUR) Search - [Link](https://nur.nix-community.org/)
|
||||||
|
|
||||||
|
### Examples / Useful Links
|
||||||
* Tons of good examples here - [Link](https://github.com/Mic92/dotfiles/blob/main/nixos/modules/)
|
* Tons of good examples here - [Link](https://github.com/Mic92/dotfiles/blob/main/nixos/modules/)
|
||||||
* Track a Nixpkgs PR - [Link](https://nixpk.gs/pr-tracker.html)
|
* Track a Nixpkgs PR - [Link](https://nixpk.gs/pr-tracker.html)
|
||||||
* NixOS Flakes Intro Guide - [Link](https://nixos-and-flakes.thiscute.world/)
|
* NixOS Flakes Intro Guide - [Link](https://nixos-and-flakes.thiscute.world/)
|
||||||
|
@ -14,14 +19,18 @@ Repo for nix configuration files
|
||||||
---
|
---
|
||||||
# Theming
|
# Theming
|
||||||
* To change system-wide themes, you need to change the following:
|
* To change system-wide themes, you need to change the following:
|
||||||
|
### gnome
|
||||||
1. `desktops/gnome.nix` - Change the imports at the bottom.
|
1. `desktops/gnome.nix` - Change the imports at the bottom.
|
||||||
2. `users/albert/gnome-dconf.nix` - Change the theme variants in the following:
|
2. `users/albert/gnome-dconf.nix` - Change the theme variants in the following:
|
||||||
* `org/gnome/shell/extensions/nightthemeswitcher/gtk-variants`
|
* `org/gnome/shell/extensions/nightthemeswitcher/gtk-variants`
|
||||||
* `org/gnome/shell/extensions/nightthemeswitcher/icon-variants`
|
* `org/gnome/shell/extensions/nightthemeswitcher/icon-variants`
|
||||||
* `org/gnome/shell/extensions/nightthemeswitcher/shell-variants`
|
* `org/gnome/shell/extensions/nightthemeswitcher/shell-variants`
|
||||||
3. `common/dotfiles/neovim.nix` - Change the following:
|
### neovim
|
||||||
|
1. `common/dotfiles/neovim.nix` - Change the following:
|
||||||
* `plugins = with pkgs.vimPlugins` - Add your theme under "Themes"
|
* `plugins = with pkgs.vimPlugins` - Add your theme under "Themes"
|
||||||
* `extraConfig` - Change the `colorscheme` section
|
* `extraConfig` - Change the `colorscheme` section
|
||||||
|
### hyprland / waybar
|
||||||
|
1. Work in progress...
|
||||||
|
|
||||||
# GPG Keys
|
# GPG Keys
|
||||||
1. Import your GPG key `albert.key`
|
1. Import your GPG key `albert.key`
|
||||||
|
|
|
@ -51,10 +51,6 @@
|
||||||
|
|
||||||
# Bash powerline
|
# Bash powerline
|
||||||
powerline-go
|
powerline-go
|
||||||
|
|
||||||
# General packages
|
|
||||||
# https://github.com/gvolpe/dconf2nix
|
|
||||||
dconf2nix
|
|
||||||
wget
|
wget
|
||||||
killall
|
killall
|
||||||
neovim
|
neovim
|
||||||
|
@ -83,5 +79,6 @@
|
||||||
# this value at the release version of the first install of this system.
|
# this value at the release version of the first install of this system.
|
||||||
# Before changing this value read the documentation for this option
|
# Before changing this value read the documentation for this option
|
||||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||||
system.stateVersion = "23.05"; # Did you read the comment?
|
# system.stateVersion = "23.05"; # Did you read the comment?
|
||||||
|
system.stateVersion = "unstable"
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,23 +14,4 @@
|
||||||
# Software configurations
|
# Software configurations
|
||||||
../software/firefox.nix
|
../software/firefox.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
# Enable sound with pipewire.
|
|
||||||
sound.enable = true;
|
|
||||||
hardware.pulseaudio.enable = false;
|
|
||||||
security.rtkit.enable = true;
|
|
||||||
services.pipewire = {
|
|
||||||
enable = true;
|
|
||||||
alsa.enable = true;
|
|
||||||
alsa.support32Bit = true;
|
|
||||||
pulse.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Configure keymap in X11
|
|
||||||
services.xserver = {
|
|
||||||
enable = true;
|
|
||||||
layout = "us";
|
|
||||||
xkbVariant = "";
|
|
||||||
autorun = true;
|
|
||||||
};
|
|
||||||
}
|
}
|
|
@ -1,6 +1,25 @@
|
||||||
{ config, unstable, hostname, ... }: {
|
{ config, pkgs, hostname, ... }: {
|
||||||
# Use "unstable" instead of "pkgs" to get the latest packages, defined in "flake.nix"
|
# Enable sound with pipewire.
|
||||||
services.xserver = with unstable.pkgs; {
|
sound.enable = true;
|
||||||
|
hardware.pulseaudio.enable = false;
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Configure keymap in X11
|
||||||
|
services.xserver = {
|
||||||
|
enable = true;
|
||||||
|
layout = "us";
|
||||||
|
xkbVariant = "";
|
||||||
|
autorun = true;
|
||||||
|
videoDrivers = [ "nvidia" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
services.xserver = with pkgs; {
|
||||||
# https://nixos.org/manual/nixos/stable/index.html#chap-gnome
|
# https://nixos.org/manual/nixos/stable/index.html#chap-gnome
|
||||||
# Enable the GNOME Desktop Environment.
|
# Enable the GNOME Desktop Environment.
|
||||||
desktopManager.gnome.enable = true;
|
desktopManager.gnome.enable = true;
|
||||||
|
@ -65,7 +84,7 @@
|
||||||
|
|
||||||
# https://nixos.wiki/wiki/GNOME
|
# https://nixos.wiki/wiki/GNOME
|
||||||
# Remove unwanted packages
|
# Remove unwanted packages
|
||||||
environment.gnome.excludePackages = (with unstable.pkgs; [
|
environment.gnome.excludePackages = (with pkgs; [
|
||||||
gnome.cheese
|
gnome.cheese
|
||||||
gnome.gnome-music
|
gnome.gnome-music
|
||||||
gnome.epiphany
|
gnome.epiphany
|
||||||
|
@ -83,7 +102,7 @@
|
||||||
gnome.simple-scan
|
gnome.simple-scan
|
||||||
]);
|
]);
|
||||||
|
|
||||||
environment.systemPackages = with unstable.pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# Gnome Extensions
|
# Gnome Extensions
|
||||||
gnomeExtensions.tiling-assistant
|
gnomeExtensions.tiling-assistant
|
||||||
gnomeExtensions.dash-to-dock
|
gnomeExtensions.dash-to-dock
|
||||||
|
@ -98,6 +117,10 @@
|
||||||
# Gnome relevant packages
|
# Gnome relevant packages
|
||||||
gnome3.gnome-tweaks
|
gnome3.gnome-tweaks
|
||||||
papirus-icon-theme
|
papirus-icon-theme
|
||||||
|
|
||||||
|
# General packages
|
||||||
|
# https://github.com/gvolpe/dconf2nix
|
||||||
|
dconf2nix
|
||||||
];
|
];
|
||||||
|
|
||||||
imports = [
|
imports = [
|
|
@ -1,4 +1,87 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
# https://wiki.hyprland.org/
|
# Enabling hyprlnd on NixOS
|
||||||
programs.hyprland.enable = true;
|
programs.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
nvidiaPatches = true;
|
||||||
|
xwayland.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.sessionVariables = {
|
||||||
|
# If your cursor becomes invisible
|
||||||
|
WLR_NO_HARDWARE_CURSORS = "1";
|
||||||
|
# Hint electron apps to use wayland
|
||||||
|
NIXOS_OZONE_WL = "1";
|
||||||
|
};
|
||||||
|
|
||||||
|
hardware = {
|
||||||
|
# Opengl
|
||||||
|
opengl.enable = true;
|
||||||
|
# Most wayland compositors need this
|
||||||
|
nvidia.modesetting.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# waybar
|
||||||
|
(pkgs.waybar.overrideAttrs (oldAttrs: {
|
||||||
|
mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ];
|
||||||
|
})
|
||||||
|
)
|
||||||
|
|
||||||
|
# system packages
|
||||||
|
environment.systemPackages = with pkgs [
|
||||||
|
waybar
|
||||||
|
# Notofication daemon
|
||||||
|
libnotify
|
||||||
|
mako
|
||||||
|
# for x11
|
||||||
|
# dunst
|
||||||
|
|
||||||
|
# Wallpaper daemons
|
||||||
|
# hyprpaper
|
||||||
|
# swaybg
|
||||||
|
# wpaperd
|
||||||
|
# mpvpaper
|
||||||
|
swww
|
||||||
|
|
||||||
|
# Terminal
|
||||||
|
# hyprlands default terminal
|
||||||
|
kitty
|
||||||
|
# alacritty
|
||||||
|
# wezterm
|
||||||
|
|
||||||
|
# App launchers
|
||||||
|
rofi-wayland
|
||||||
|
# gtk version:
|
||||||
|
# wofi
|
||||||
|
|
||||||
|
# suggestions
|
||||||
|
# bemenu
|
||||||
|
# fuzzel
|
||||||
|
# tofi
|
||||||
|
|
||||||
|
# Other apps:
|
||||||
|
networkmanagerapplet
|
||||||
|
|
||||||
|
# Screenshot utility:
|
||||||
|
grim
|
||||||
|
slupr
|
||||||
|
wl-copyd
|
||||||
|
|
||||||
|
# fonts
|
||||||
|
font-awesome
|
||||||
|
];
|
||||||
|
|
||||||
|
# XDG portal
|
||||||
|
xdg.portal.enable = true;
|
||||||
|
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||||
|
|
||||||
|
# Enable sound with pipewire.
|
||||||
|
sound.enable = true;
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
jack.enable = true;
|
||||||
|
};
|
||||||
}
|
}
|
|
@ -1,4 +1,25 @@
|
||||||
{ config, pkgs, ... }: {
|
{ config, pkgs, ... }: {
|
||||||
|
|
||||||
|
# Enable sound with pipewire.
|
||||||
|
sound.enable = true;
|
||||||
|
hardware.pulseaudio.enable = false;
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Configure keymap in X11
|
||||||
|
services.xserver = {
|
||||||
|
enable = true;
|
||||||
|
layout = "us";
|
||||||
|
xkbVariant = "";
|
||||||
|
autorun = true;
|
||||||
|
videoDrivers = [ "nvidia" ];
|
||||||
|
};
|
||||||
|
|
||||||
services.xserver = {
|
services.xserver = {
|
||||||
displayManager.gdm.enable = true;
|
displayManager.gdm.enable = true;
|
||||||
desktopManager.plasma5.enable = true;
|
desktopManager.plasma5.enable = true;
|
||||||
|
|
|
@ -1,4 +1,23 @@
|
||||||
{ config, pkgs, unstable, ... }: {
|
{ config, pkgs, ... }: {
|
||||||
|
# Enable sound with pipewire.
|
||||||
|
sound.enable = true;
|
||||||
|
hardware.pulseaudio.enable = false;
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Configure keymap in X11
|
||||||
|
services.xserver = {
|
||||||
|
enable = true;
|
||||||
|
layout = "us";
|
||||||
|
xkbVariant = "";
|
||||||
|
autorun = true;
|
||||||
|
};
|
||||||
|
|
||||||
programs.sway = {
|
programs.sway = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
40
flake.nix
40
flake.nix
|
@ -5,9 +5,9 @@
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
# NixOS packages
|
# NixOS packages
|
||||||
stable-nixpkgs.url = "nixpkgs/nixos-23.05";
|
# stable-nixpkgs.url = "nixpkgs/nixos-23.05";
|
||||||
unstable-nixpkgs.url = "nixpkgs/nixos-unstable";
|
unstable-nixpkgs.url = "nixpkgs/nixos-unstable";
|
||||||
master-nixpkgs.url = "nixpkgs/master";
|
# master-nixpkgs.url = "nixpkgs/master";
|
||||||
|
|
||||||
# Manage dotfiles in a home directory
|
# Manage dotfiles in a home directory
|
||||||
home-manager.url = "github:nix-community/home-manager/release-23.05";
|
home-manager.url = "github:nix-community/home-manager/release-23.05";
|
||||||
|
@ -28,26 +28,36 @@
|
||||||
sops-nix.url = "github:Mic92/sops-nix";
|
sops-nix.url = "github:Mic92/sops-nix";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { stable-nixpkgs, unstable-nixpkgs, master-nixpkgs, home-manager, lanzaboote, nur, sops-nix, /*nixos-hardware,*/ ... }@inputs:
|
outputs = {
|
||||||
|
# stable-nixpkgs,
|
||||||
|
unstable-nixpkgs,
|
||||||
|
# master-nixpkgs,
|
||||||
|
home-manager,
|
||||||
|
lanzaboote,
|
||||||
|
nur,
|
||||||
|
sops-nix,
|
||||||
|
# nixos-hardware,
|
||||||
|
...
|
||||||
|
}@inputs:
|
||||||
let
|
let
|
||||||
# Variables - Remember to set these
|
# Variables - Remember to set these
|
||||||
hostname = "nixos-laptop";
|
hostname = "nixos-laptop";
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
|
|
||||||
pkgs = import stable-nixpkgs {
|
pkgs = import unstable-nixpkgs {
|
||||||
inherit system;
|
inherit system;
|
||||||
config = { allowUnfree = true; };
|
config = { allowUnfree = true; };
|
||||||
};
|
};
|
||||||
|
|
||||||
unstable = import unstable-nixpkgs {
|
# unstable = import unstable-nixpkgs {
|
||||||
inherit system;
|
# inherit system;
|
||||||
config = { allowUnfree = true; };
|
# config = { allowUnfree = true; };
|
||||||
};
|
# };
|
||||||
|
#
|
||||||
master = import master-nixpkgs {
|
# master = import master-nixpkgs {
|
||||||
inherit system;
|
# inherit system;
|
||||||
config = { allowUnfree = true; };
|
# config = { allowUnfree = true; };
|
||||||
}
|
# }
|
||||||
|
|
||||||
lib = stable-nixpkgs.lib;
|
lib = stable-nixpkgs.lib;
|
||||||
in {
|
in {
|
||||||
|
@ -57,8 +67,8 @@
|
||||||
${hostname} = lib.nixosSystem {
|
${hostname} = lib.nixosSystem {
|
||||||
inherit system;
|
inherit system;
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit unstable;
|
# inherit unstable;
|
||||||
inherit master;
|
# inherit master;
|
||||||
inherit hostname;
|
inherit hostname;
|
||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, config, pkgs, unstable, ... }: {
|
{ lib, config, pkgs, ... }: {
|
||||||
|
|
||||||
# Set your time zone.
|
# Set your time zone.
|
||||||
time.timeZone = "Asia/Tokyo";
|
time.timeZone = "Asia/Tokyo";
|
||||||
|
@ -32,12 +32,12 @@
|
||||||
opengl.driSupport = true;
|
opengl.driSupport = true;
|
||||||
# opengl.extraPackages = with pkgs; [ nvidia-vaapi-driver ];
|
# opengl.extraPackages = with pkgs; [ nvidia-vaapi-driver ];
|
||||||
# https://nixpk.gs/pr-tracker.html?pr=244060
|
# https://nixpk.gs/pr-tracker.html?pr=244060
|
||||||
nvidia = with unstable.pkgs {
|
nvidia = with pkgs {
|
||||||
open = false;
|
open = false;
|
||||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||||
# powerManagement.finegrained = true;
|
# powerManagement.finegrained = true;
|
||||||
powerManagement.enable = false;
|
powerManagement.enable = true;
|
||||||
# modesetting.enable = true;
|
modesetting.enable = true;
|
||||||
prime = {
|
prime = {
|
||||||
offload = {
|
offload = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -49,8 +49,6 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services.xserver.videoDrivers = [ "nvidia" ];
|
|
||||||
|
|
||||||
# environment.variables = {
|
# environment.variables = {
|
||||||
# GBM_BACKEND = "nvidia-drm";
|
# GBM_BACKEND = "nvidia-drm";
|
||||||
# LIBVA_DRIVER_NAME = "nvidia";
|
# LIBVA_DRIVER_NAME = "nvidia";
|
||||||
|
|
216
hosts/nixos-laptop/desktops/hyperland-conf.nix
Normal file
216
hosts/nixos-laptop/desktops/hyperland-conf.nix
Normal file
|
@ -0,0 +1,216 @@
|
||||||
|
{ ... }: {
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
enableNvidiaPatches = true;
|
||||||
|
systemdIntegration = true;
|
||||||
|
xwayland.enable = true;
|
||||||
|
xwayland.hidpi = true;
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland.extraConfig = "
|
||||||
|
# This is an example Hyprland config file.
|
||||||
|
#
|
||||||
|
# Refer to the wiki for more information.
|
||||||
|
|
||||||
|
#
|
||||||
|
# Please note not all available settings / options are set here.
|
||||||
|
# For a full list, see the wiki
|
||||||
|
#
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||||
|
# monitor=,preferred,auto,auto
|
||||||
|
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||||
|
|
||||||
|
# Execute your favorite apps at launch
|
||||||
|
# exec-once = waybar & hyprpaper & firefox
|
||||||
|
|
||||||
|
# Source a file (multi-file configs)
|
||||||
|
# source = ~/.config/hypr/myColors.conf
|
||||||
|
|
||||||
|
# Some default env vars.
|
||||||
|
env = XCURSOR_SIZE,24
|
||||||
|
|
||||||
|
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
|
||||||
|
input {
|
||||||
|
kb_layout = us
|
||||||
|
kb_variant =
|
||||||
|
kb_model =
|
||||||
|
kb_options =
|
||||||
|
kb_rules =
|
||||||
|
|
||||||
|
follow_mouse = 1
|
||||||
|
|
||||||
|
touchpad {
|
||||||
|
natural_scroll = true
|
||||||
|
}
|
||||||
|
|
||||||
|
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||||
|
}
|
||||||
|
|
||||||
|
general {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
|
||||||
|
gaps_in = 5
|
||||||
|
gaps_out = 20
|
||||||
|
border_size = 2
|
||||||
|
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
|
||||||
|
col.inactive_border = rgba(595959aa)
|
||||||
|
|
||||||
|
layout = dwindle
|
||||||
|
}
|
||||||
|
|
||||||
|
decoration {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
|
||||||
|
rounding = 10
|
||||||
|
|
||||||
|
blur {
|
||||||
|
enabled = true
|
||||||
|
size = 3
|
||||||
|
passes = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
drop_shadow = true
|
||||||
|
shadow_range = 4
|
||||||
|
shadow_render_power = 3
|
||||||
|
col.shadow = rgba(1a1a1aee)
|
||||||
|
}
|
||||||
|
|
||||||
|
animations {
|
||||||
|
enabled = true
|
||||||
|
|
||||||
|
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||||
|
|
||||||
|
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||||
|
|
||||||
|
animation = windows, 1, 7, myBezier
|
||||||
|
animation = windowsOut, 1, 7, default, popin 80%
|
||||||
|
animation = border, 1, 10, default
|
||||||
|
animation = borderangle, 1, 8, default
|
||||||
|
animation = fade, 1, 7, default
|
||||||
|
animation = workspaces, 1, 6, default
|
||||||
|
}
|
||||||
|
|
||||||
|
dwindle {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||||
|
pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||||
|
preserve_split = true # you probably want this
|
||||||
|
}
|
||||||
|
|
||||||
|
master {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||||
|
new_is_master = true
|
||||||
|
}
|
||||||
|
|
||||||
|
gestures {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
workspace_swipe = false
|
||||||
|
}
|
||||||
|
|
||||||
|
# Example per-device config
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
|
||||||
|
device:epic-mouse-v1 {
|
||||||
|
sensitivity = -0.5
|
||||||
|
}
|
||||||
|
|
||||||
|
# Example windowrule v1
|
||||||
|
# windowrule = float, ^(kitty)$
|
||||||
|
# Example windowrule v2
|
||||||
|
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||||
|
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||||
|
$mainMod = SUPER
|
||||||
|
|
||||||
|
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||||
|
bind = $mainMod, Q, exec, kitty
|
||||||
|
bind = $mainMod, C, killactive,
|
||||||
|
bind = $mainMod, M, exit,
|
||||||
|
bind = $mainMod, E, exec, dolphin
|
||||||
|
bind = $mainMod, V, togglefloating,
|
||||||
|
bind = $mainMod, R, exec, wofi --show drun
|
||||||
|
bind = $mainMod, P, pseudo, # dwindle
|
||||||
|
bind = $mainMod, J, togglesplit, # dwindle
|
||||||
|
bind = $mainMod, S, exec, rofi -show drun -show-icons
|
||||||
|
|
||||||
|
# Move focus with mainMod + arrow keys
|
||||||
|
bind = $mainMod, left, movefocus, l
|
||||||
|
bind = $mainMod, right, movefocus, r
|
||||||
|
bind = $mainMod, up, movefocus, u
|
||||||
|
bind = $mainMod, down, movefocus, d
|
||||||
|
|
||||||
|
# Switch workspaces with mainMod + [0-9]
|
||||||
|
bind = $mainMod, 1, workspace, 1
|
||||||
|
bind = $mainMod, 2, workspace, 2
|
||||||
|
bind = $mainMod, 3, workspace, 3
|
||||||
|
bind = $mainMod, 4, workspace, 4
|
||||||
|
bind = $mainMod, 5, workspace, 5
|
||||||
|
bind = $mainMod, 6, workspace, 6
|
||||||
|
bind = $mainMod, 7, workspace, 7
|
||||||
|
bind = $mainMod, 8, workspace, 8
|
||||||
|
bind = $mainMod, 9, workspace, 9
|
||||||
|
bind = $mainMod, 0, workspace, 10
|
||||||
|
|
||||||
|
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||||
|
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||||
|
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||||
|
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||||
|
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||||
|
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||||
|
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||||
|
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||||
|
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||||
|
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||||
|
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||||
|
|
||||||
|
# Scroll through existing workspaces with mainMod + scroll
|
||||||
|
bind = $mainMod, mouse_down, workspace, e+1
|
||||||
|
bind = $mainMod, mouse_up, workspace, e-1
|
||||||
|
|
||||||
|
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||||
|
bindm = $mainMod, mouse:272, movewindow
|
||||||
|
bindm = $mainMod, mouse:273, resizewindow
|
||||||
|
|
||||||
|
# Start the config:
|
||||||
|
exec-once=bash ~/.config/hypr/start.sh
|
||||||
|
|
||||||
|
";
|
||||||
|
}
|
||||||
|
|
||||||
|
home.file = {
|
||||||
|
# Set the custom launcher script
|
||||||
|
"~/.config/hypr/start.sh" = {
|
||||||
|
enable = true;
|
||||||
|
executable = true;
|
||||||
|
text = "
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
# Init the wallpaper daemon and set the wallpaper:
|
||||||
|
sww init &
|
||||||
|
#TODO: Set this
|
||||||
|
sww img /etc/nixos/git/desktops/wallpapers/gruvbox/wallpaper1.png &
|
||||||
|
# Add the network manager applet:
|
||||||
|
nm-applet --indicator &
|
||||||
|
# The bar
|
||||||
|
waybar &
|
||||||
|
# Notifications
|
||||||
|
mako
|
||||||
|
";
|
||||||
|
};
|
||||||
|
# https://yewtu.be/watch?v=tWQB1NDDA9c
|
||||||
|
# Waybar configuration
|
||||||
|
"~/.config/waybar/config.jsonc" = {
|
||||||
|
enable = true;
|
||||||
|
executable = false;
|
||||||
|
text = "";
|
||||||
|
}
|
||||||
|
# Waybar theming
|
||||||
|
"~/.config/waybar/style.css" = {
|
||||||
|
enable = true;
|
||||||
|
executable = false;
|
||||||
|
text = "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
|
@ -16,6 +16,7 @@
|
||||||
(nerdfonts.override { fonts = [ "Arimo" "JetBrainsMono" ]; })
|
(nerdfonts.override { fonts = [ "Arimo" "JetBrainsMono" ]; })
|
||||||
noto-fonts-emoji
|
noto-fonts-emoji
|
||||||
sarasa-gothic
|
sarasa-gothic
|
||||||
|
font-awesome
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
|
@ -1,7 +1,8 @@
|
||||||
{ config, pkgs, hostname, ... }: {
|
{ config, pkgs, hostname, ... }: {
|
||||||
home.stateVersion = "23.05";
|
home.stateVersion = "23.05";
|
||||||
imports = [
|
imports = [
|
||||||
../../hosts/${hostname}/gnome-dconf.nix
|
# ../../hosts/${hostname}/desktops/gnome-dconf.nix
|
||||||
|
../../hosts/${hostname}/desktops/hyprland-conf.nix
|
||||||
../../home-manager/git.nix
|
../../home-manager/git.nix
|
||||||
../../home-manager/neovim.nix
|
../../home-manager/neovim.nix
|
||||||
../../home-manager/bash.nix
|
../../home-manager/bash.nix
|
||||||
|
|
Loading…
Reference in a new issue