added new usb system, started modularizing
This commit is contained in:
parent
58b0456f8c
commit
0a731ef17f
26
flake.nix
26
flake.nix
@ -53,13 +53,37 @@
|
|||||||
home-manager.extraSpecialArgs = { inherit inputs; };
|
home-manager.extraSpecialArgs = { inherit inputs; };
|
||||||
|
|
||||||
home-manager.users.remy.imports = [
|
home-manager.users.remy.imports = [
|
||||||
./users/remy.nix
|
./users/remy_spectre
|
||||||
inputs.nix-flatpak.homeManagerModules.nix-flatpak
|
inputs.nix-flatpak.homeManagerModules.nix-flatpak
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
nixosConfigurations.nichts = nixpkgs.lib.nixosSystem {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
specialArgs = { inherit inputs; };
|
||||||
|
|
||||||
|
modules = [
|
||||||
|
./hosts/lenovo-yoga-usb
|
||||||
|
stylix.nixosModules.stylix
|
||||||
|
inputs.superfreq.nixosModules.default
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
{
|
||||||
|
home-manager.useGlobalPkgs = true;
|
||||||
|
home-manager.useUserPackages = true;
|
||||||
|
home-manager.extraSpecialArgs = { inherit inputs; };
|
||||||
|
|
||||||
|
home-manager.users.remy.imports = [
|
||||||
|
./users/remy_yoga-usb
|
||||||
|
inputs.nix-flatpak.homeManagerModules.nix-flatpak
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
# nixosConfigurations.raspberry-pi = nixpkgs.lib.nixosSystem {
|
# nixosConfigurations.raspberry-pi = nixpkgs.lib.nixosSystem {
|
||||||
# system = "aarch64-linux";
|
# system = "aarch64-linux";
|
||||||
# modules = [
|
# modules = [
|
||||||
|
52
hosts/lenovo-yoga-usb/configuration.nix
Normal file
52
hosts/lenovo-yoga-usb/configuration.nix
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
# Edit this configuration file to define what should be installed on
|
||||||
|
# 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, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ # Include the results of the hardware scan.
|
||||||
|
./hardware-configuration.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
# Use the "experimental" flakes for cleaner config
|
||||||
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
|
|
||||||
|
# Use latest kernel.
|
||||||
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
|
||||||
|
networking.hostName = "nichts";
|
||||||
|
# Pick only one of the below networking options.
|
||||||
|
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||||
|
# networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
|
||||||
|
|
||||||
|
# Set your time zone.
|
||||||
|
time.timeZone = "Europe/Berlin";
|
||||||
|
|
||||||
|
# Configure network proxy if necessary
|
||||||
|
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||||
|
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||||
|
|
||||||
|
# # Select internationalisation properties.
|
||||||
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
# i18n.supportedLocales = [ "en_US.UTF-8" "de_DE.UTF-8" ];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
|
users.users.remy = {
|
||||||
|
isNormalUser = true;
|
||||||
|
extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
networking.networkmanager.wifi.powersave = true;
|
||||||
|
|
||||||
|
|
||||||
|
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
||||||
|
system.stateVersion = "24.05"; # Did you read the comment?
|
||||||
|
}
|
||||||
|
|
25
hosts/lenovo-yoga-usb/default.nix
Normal file
25
hosts/lenovo-yoga-usb/default.nix
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
{lib, config, options, pkgs, ...}:
|
||||||
|
{
|
||||||
|
|
||||||
|
# Merge the configuration and hardware configuration
|
||||||
|
imports = [
|
||||||
|
./configuration.nix
|
||||||
|
./hardware-configuration.nix
|
||||||
|
../../modules/nixos/bluetooth.nix
|
||||||
|
../../modules/nixos/flakes.nix
|
||||||
|
../../modules/nixos/flatpak.nix
|
||||||
|
../../modules/nixos/fonts.nix
|
||||||
|
../../modules/nixos/hyprland.nix
|
||||||
|
../../modules/nixos/ld.nix
|
||||||
|
../../modules/nixos/monitoring.nix
|
||||||
|
../../modules/nixos/networking.nix
|
||||||
|
../../modules/nixos/nh.nix
|
||||||
|
../../modules/nixos/pipewire.nix
|
||||||
|
../../modules/nixos/podman.nix
|
||||||
|
../../modules/nixos/power.nix
|
||||||
|
../../modules/nixos/stylix.nix
|
||||||
|
../../modules/nixos/usb_config.nix
|
||||||
|
../../utils/binary-cache.nix
|
||||||
|
../../utils/garbage-collection.nix
|
||||||
|
];
|
||||||
|
}
|
40
hosts/lenovo-yoga-usb/hardware-configuration.nix
Normal file
40
hosts/lenovo-yoga-usb/hardware-configuration.nix
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
# 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, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "sd_mod" "sdhci_pci" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/621498e8-64f6-4979-8489-3dc1d145e349";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
boot.initrd.luks.devices."root-enc".device = "/dev/disk/by-uuid/156d0f15-397c-4bc6-8f57-026108975246";
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/B2D0-672E";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [ "fmask=0022" "dmask=0022" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.wlp1s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
@ -3,7 +3,7 @@
|
|||||||
programs.vscode = {
|
programs.vscode = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# install vscode in a FHS environment to allow extensions with prebuilt binaries
|
# install vscode in a FHS environment to allow extensions with prebuilt binaries
|
||||||
package = pkgs.vscode.fhs;
|
# package = pkgs.vscode.fhs;
|
||||||
|
|
||||||
# profiles = {
|
# profiles = {
|
||||||
# default = {
|
# default = {
|
||||||
@ -18,9 +18,9 @@
|
|||||||
ms-python.isort
|
ms-python.isort
|
||||||
ms-python.debugpy
|
ms-python.debugpy
|
||||||
ms-python.vscode-pylance
|
ms-python.vscode-pylance
|
||||||
ms-toolsai.jupyter
|
# ms-toolsai.jupyter
|
||||||
ms-toolsai.vscode-jupyter-slideshow
|
# ms-toolsai.vscode-jupyter-slideshow
|
||||||
ms-toolsai.jupyter-renderers
|
# ms-toolsai.jupyter-renderers
|
||||||
|
|
||||||
# Nix language
|
# Nix language
|
||||||
jnoortheen.nix-ide
|
jnoortheen.nix-ide
|
||||||
@ -28,11 +28,17 @@
|
|||||||
# typst
|
# typst
|
||||||
myriad-dreamin.tinymist
|
myriad-dreamin.tinymist
|
||||||
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
|
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
|
||||||
|
{
|
||||||
|
name = "jupyter";
|
||||||
|
publisher = "ms-toolsai";
|
||||||
|
version = "2025.3.2025032101";
|
||||||
|
sha256 = "sha256-s2qEUl9J6EOije6MasZOnHErYs3NYXBqLSfMT03vEH0=";
|
||||||
|
}
|
||||||
{
|
{
|
||||||
name = "jupyter-hub";
|
name = "jupyter-hub";
|
||||||
publisher = "ms-toolsai";
|
publisher = "ms-toolsai";
|
||||||
version = "2024.10.1002831100";
|
version = "2024.10.1002831100";
|
||||||
sha256 = "sha256-3YF91Wgw5je040xPpLHPdxQIEAetpmDz6La7bw2JM+g=";
|
sha256 = "sha256-5IRczwXbYkDdYEOXvQnnH+HJNLvsRsrZ6fnoVCveqrs=";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -2,6 +2,6 @@
|
|||||||
{
|
{
|
||||||
home.packages = [
|
home.packages = [
|
||||||
# pdf viewer
|
# pdf viewer
|
||||||
pkgs.evince
|
pkgs.papers
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -1,228 +1,251 @@
|
|||||||
{inputs, pkgs, ...}:
|
{inputs, pkgs, lib, config, ...}:
|
||||||
|
let
|
||||||
|
cfg = config.nix-config.hypr;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
|
|
||||||
home.packages = [
|
options = {
|
||||||
pkgs.hyprshot
|
nix-config.hypr.internal-screen.resolution = lib.mkOption { type = lib.types.str; };
|
||||||
pkgs.nautilus
|
nix-config.hypr.internal-screen.scale = lib.mkOption { type = lib.types.str; };
|
||||||
pkgs.gnome-control-center
|
nix-config.hypr.browser = lib.mkOption {
|
||||||
pkgs.brightnessctl
|
type = lib.types.str;
|
||||||
pkgs.cliphist
|
default = "firefox";
|
||||||
pkgs.wl-clipboard
|
description = "The browser to use in Hyprland.";
|
||||||
pkgs.gcr # Provides org.gnome.keyring.SystemPrompter
|
};
|
||||||
];
|
nix-config.hypr.launcher-cmd = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "wofi --show drun -n";
|
||||||
|
description = "The command to launch the application launcher in Hyprland.";
|
||||||
|
};
|
||||||
|
nix-config.hypr.ide = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "code";
|
||||||
|
description = "The IDE to use in Hyprland.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = {
|
||||||
|
home.packages = [
|
||||||
|
pkgs.hyprshot
|
||||||
|
pkgs.nautilus
|
||||||
|
pkgs.gnome-control-center
|
||||||
|
pkgs.gnome-bluetooth # needed by gnome-control-center to manage bluetooth
|
||||||
|
pkgs.brightnessctl
|
||||||
|
pkgs.cliphist
|
||||||
|
pkgs.wl-clipboard
|
||||||
|
pkgs.gcr # Provides org.gnome.keyring.SystemPrompter
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
# Also use gnome keyring
|
# Also use gnome keyring
|
||||||
services.gnome-keyring.enable = true;
|
services.gnome-keyring.enable = true;
|
||||||
|
|
||||||
|
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
systemd.enable = true;
|
systemd.enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
"$mod" = "SUPER";
|
"$mod" = "SUPER";
|
||||||
"$browser" = "firefox";
|
|
||||||
"$launcher-cmd" = "wofi --show drun -n";
|
|
||||||
"$ide" = "code";
|
|
||||||
|
|
||||||
# Global bindings
|
# Global bindings
|
||||||
bind = [
|
bind = [
|
||||||
# Launch applications
|
# Launch applications
|
||||||
"$mod, space, exec, $launcher-cmd"
|
"$mod, space, exec, ${cfg.launcher-cmd}"
|
||||||
"$mod, return, exec, kitty"
|
"$mod, return, exec, kitty"
|
||||||
"$mod, b, exec, $browser"
|
"$mod, b, exec, ${cfg.browser}"
|
||||||
"$mod, s, exec, $ide"
|
"$mod, s, exec, ${cfg.ide}"
|
||||||
"$mod, e, exec, nautilus"
|
"$mod, e, exec, nautilus"
|
||||||
|
|
||||||
# Lock screen
|
# Lock screen
|
||||||
"$mod, l, exec, hyprlock"
|
"$mod, l, exec, hyprlock"
|
||||||
|
|
||||||
# Clipboard management
|
# Clipboard management
|
||||||
"$mod, V, exec, cliphist list | wofi --dmenu | cliphist decode | wl-copy"
|
"$mod, V, exec, cliphist list | wofi --dmenu | cliphist decode | wl-copy"
|
||||||
|
|
||||||
# Close window
|
# Close window
|
||||||
"$mod, Q, killactive,"
|
"$mod, Q, killactive,"
|
||||||
"$mod+Shift, Q, exit," # this is the true kill
|
"$mod+Shift, Q, exit," # this is the true kill
|
||||||
|
|
||||||
# Toggle Floating and reduce size
|
# Toggle Floating and reduce size
|
||||||
"$mod, f, togglefloating,"
|
"$mod, f, togglefloating,"
|
||||||
"$mod, f, resizeactive, 50% 50%,"
|
"$mod, f, resizeactive, 50% 50%,"
|
||||||
# Toggle fullscreen
|
# Toggle fullscreen
|
||||||
"$mod+Shift, f, fullscreen,"
|
"$mod+Shift, f, fullscreen,"
|
||||||
|
|
||||||
# Alt-tab alternative
|
# Alt-tab alternative
|
||||||
"$mod, Tab, cyclenext,"
|
"$mod, Tab, cyclenext,"
|
||||||
"$mod, Tab, bringactivetotop,"
|
"$mod, Tab, bringactivetotop,"
|
||||||
|
|
||||||
# Move the window
|
# Move the window
|
||||||
"$mod+Shift, left, movewindow, l"
|
"$mod+Shift, left, movewindow, l"
|
||||||
"$mod+Shift, right, movewindow, r"
|
"$mod+Shift, right, movewindow, r"
|
||||||
"$mod+Shift, up, movewindow, u"
|
"$mod+Shift, up, movewindow, u"
|
||||||
"$mod+Shift, down, movewindow, d"
|
"$mod+Shift, down, movewindow, d"
|
||||||
|
|
||||||
"$mod+Ctrl, left, movetoworkspace, -1"
|
"$mod+Ctrl, left, movetoworkspace, -1"
|
||||||
"$mod+Ctrl, right, movetoworkspace, +1"
|
"$mod+Ctrl, right, movetoworkspace, +1"
|
||||||
|
|
||||||
# Switch workspace
|
# Switch workspace
|
||||||
"$mod+Alt, left, workspace, -1"
|
"$mod+Alt, left, workspace, -1"
|
||||||
"$mod+Alt, right, workspace, +1"
|
"$mod+Alt, right, workspace, +1"
|
||||||
|
|
||||||
# Screenshot
|
# Screenshot
|
||||||
"$mod, Print, exec, hyprshot -m region -o ~/Pictures/Screenshots"
|
"$mod, Print, exec, hyprshot -m region -o ~/Pictures/Screenshots"
|
||||||
"$mod+Shift, Print, exec, hyprshot -m window -o ~/Pictures/Screenshots"
|
"$mod+Shift, Print, exec, hyprshot -m window -o ~/Pictures/Screenshots"
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# repeatable bindings
|
# repeatable bindings
|
||||||
binde = [
|
binde = [
|
||||||
# Fn keys
|
# Fn keys
|
||||||
", XF86MonBrightnessDown, exec, brightnessctl set 5%-"
|
", XF86MonBrightnessDown, exec, brightnessctl set 5%-"
|
||||||
", XF86MonBrightnessUp, exec, brightnessctl set +5%"
|
", XF86MonBrightnessUp, exec, brightnessctl set +5%"
|
||||||
", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"
|
", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"
|
||||||
", XF86AudioLowerVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%-"
|
", XF86AudioLowerVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%-"
|
||||||
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
||||||
|
|
||||||
# Reshape the window in focus
|
# Reshape the window in focus
|
||||||
"$mod, MINUS, resizeactive, -2% -2%"
|
"$mod, MINUS, resizeactive, -2% -2%"
|
||||||
"$mod, KP_Subtract, resizeactive, -2% -2%"
|
"$mod, KP_Subtract, resizeactive, -2% -2%"
|
||||||
"$mod, PLUS, resizeactive, 2% 2%"
|
"$mod, PLUS, resizeactive, 2% 2%"
|
||||||
"$mod, KP_Add, resizeactive, 2% 2%"
|
"$mod, KP_Add, resizeactive, 2% 2%"
|
||||||
|
];
|
||||||
|
|
||||||
];
|
# lock-screen bindings
|
||||||
|
bindl = [
|
||||||
|
# on lid close, lock the screen
|
||||||
|
# if another monitor is connected, only turn the internal monitor off and don't lock the screen
|
||||||
|
", switch:on:Lid Switch, exec, hyprctl dispatch dpms off eDP-1"
|
||||||
|
# if there is no active monitor, perform a screen lock
|
||||||
|
", switch:on:Lid Switch, exec, hyprctl monitors | grep 'dpmsStatus: 1' || hyprlock"
|
||||||
|
", switch:off:Lid Switch, exec, hyprctl dispatch dpms on eDP-1"
|
||||||
|
];
|
||||||
|
|
||||||
# lock-screen bindings
|
# bindr = [
|
||||||
bindl = [
|
# # Overview
|
||||||
# on lid close, lock the screen
|
# "$mod, , overview:toggle"
|
||||||
# if another monitor is connected, only turn the internal monitor off and don't lock the screen
|
# ];
|
||||||
", switch:on:Lid Switch, exec, hyprctl dispatch dpms off eDP-1"
|
|
||||||
# if there is no active monitor, perform a screen lock
|
|
||||||
", switch:on:Lid Switch, exec, hyprctl monitors | grep 'dpmsStatus: 1' || hyprlock"
|
|
||||||
", switch:off:Lid Switch, exec, hyprctl dispatch dpms on eDP-1"
|
|
||||||
];
|
|
||||||
|
|
||||||
# bindr = [
|
bindm = [
|
||||||
# # Overview
|
# move the window
|
||||||
# "$mod, , overview:toggle"
|
"$mod, mouse:272, movewindow"
|
||||||
# ];
|
];
|
||||||
|
|
||||||
bindm = [
|
exec-once = [
|
||||||
# move the window
|
"gnome-keyring-daemon --start --components=secrets"
|
||||||
"$mod, mouse:272, movewindow"
|
# "${pkgs.hyprpaper}/bin/hyprpaper"
|
||||||
];
|
# hyprpaper is handled as its own service
|
||||||
|
"${pkgs.waybar}/bin/waybar"
|
||||||
|
# listen to clipboard events and send them to cliphist
|
||||||
|
"wl-paste --watch cliphist store"
|
||||||
|
"${pkgs.waybar}/bin/hypridle"
|
||||||
|
"hyprpaper"
|
||||||
|
# # Fixes cursor themes in gnome apps under hyprland
|
||||||
|
# "gsettings set org.gnome.desktop.interface cursor-theme '${config.home.pointerCursor.name}'"
|
||||||
|
# "gsettings set org.gnome.desktop.interface cursor-size ${toString home.pointerCursor.size}"
|
||||||
|
"${pkgs.owncloud-client}"
|
||||||
|
];
|
||||||
|
|
||||||
exec-once = [
|
general = {
|
||||||
"gnome-keyring-daemon --start --components=secrets"
|
resize_on_border = true;
|
||||||
# "${pkgs.hyprpaper}/bin/hyprpaper"
|
gaps_in = 5;
|
||||||
# hyprpaper is handled as its own service
|
gaps_out = 5;
|
||||||
"${pkgs.waybar}/bin/waybar"
|
border_size = 1;
|
||||||
# listen to clipboard events and send them to cliphist
|
"col.active_border" = "rgb(98971A) rgb(CC241D) 45deg";
|
||||||
"wl-paste --watch cliphist store"
|
layout = "master";
|
||||||
"${pkgs.waybar}/bin/hypridle"
|
|
||||||
"hyprpaper"
|
|
||||||
# # Fixes cursor themes in gnome apps under hyprland
|
|
||||||
# "gsettings set org.gnome.desktop.interface cursor-theme '${config.home.pointerCursor.name}'"
|
|
||||||
# "gsettings set org.gnome.desktop.interface cursor-size ${toString home.pointerCursor.size}"
|
|
||||||
"${pkgs.owncloud-client}"
|
|
||||||
];
|
|
||||||
|
|
||||||
general = {
|
|
||||||
resize_on_border = true;
|
|
||||||
gaps_in = 5;
|
|
||||||
gaps_out = 5;
|
|
||||||
border_size = 1;
|
|
||||||
"col.active_border" = "rgb(98971A) rgb(CC241D) 45deg";
|
|
||||||
layout = "master";
|
|
||||||
};
|
|
||||||
|
|
||||||
misc = {
|
|
||||||
# disable refreshs when nothing is going on
|
|
||||||
vfr = false;
|
|
||||||
disable_hyprland_logo = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
input = {
|
|
||||||
kb_layout = "de";
|
|
||||||
# remap caps lock to ctrl
|
|
||||||
kb_options = "ctrl:nocaps";
|
|
||||||
numlock_by_default = true;
|
|
||||||
# mouse input should be unchanged
|
|
||||||
natural_scroll = false;
|
|
||||||
sensitivity = 0.3;
|
|
||||||
touchpad = {
|
|
||||||
disable_while_typing = false;
|
|
||||||
natural_scroll = true;
|
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
device = {
|
misc = {
|
||||||
name = "syna329a:00-06cb:cd4f-touchpad";
|
# disable refreshs when nothing is going on
|
||||||
sensitivity = 0.5;
|
vfr = false;
|
||||||
};
|
disable_hyprland_logo = true;
|
||||||
|
};
|
||||||
|
|
||||||
gestures = {
|
input = {
|
||||||
workspace_swipe = true;
|
kb_layout = "de";
|
||||||
workspace_swipe_fingers = 4;
|
# remap caps lock to ctrl
|
||||||
workspace_swipe_touch = true;
|
kb_options = "ctrl:nocaps";
|
||||||
};
|
numlock_by_default = true;
|
||||||
|
# mouse input should be unchanged
|
||||||
|
natural_scroll = false;
|
||||||
|
sensitivity = 0.3;
|
||||||
|
touchpad = {
|
||||||
|
disable_while_typing = false;
|
||||||
|
natural_scroll = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
decoration = {
|
device = {
|
||||||
rounding = 7;
|
name = "syna329a:00-06cb:cd4f-touchpad";
|
||||||
# active_opacity = 0.95;
|
sensitivity = 0.5;
|
||||||
inactive_opacity = 0.9;
|
};
|
||||||
|
|
||||||
shadow = {
|
gestures = {
|
||||||
|
workspace_swipe = true;
|
||||||
|
workspace_swipe_fingers = 4;
|
||||||
|
workspace_swipe_touch = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
decoration = {
|
||||||
|
rounding = 7;
|
||||||
|
# active_opacity = 0.95;
|
||||||
|
inactive_opacity = 0.9;
|
||||||
|
|
||||||
|
shadow = {
|
||||||
|
enabled = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
# blur is set on a per-program basis
|
||||||
|
windowrulev2 = [
|
||||||
|
# kitty should behave like a floating window
|
||||||
|
"animation popin, class:kitty"
|
||||||
|
"move cursor -50% -50%, class:kitty"
|
||||||
|
"float, class:kitty"
|
||||||
|
"size 50% 50%, class:kitty"
|
||||||
|
|
||||||
|
# some more floating windows
|
||||||
|
"float, class:org.gnome.Settings"
|
||||||
|
"float, class:desktopclient.owncloud.com"
|
||||||
|
"float, class:org.keepassxc.KeePassXC"
|
||||||
|
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
monitor = [
|
||||||
|
# the internal monitor, always at the "center"
|
||||||
|
"eDP-1, ${cfg.internal-screen.resolution}, 0x0, ${cfg.internal-screen.scale}"
|
||||||
|
|
||||||
|
# Samsung monitors at irchel (matching the description)
|
||||||
|
# "desc:Samsung Electric Company LS27D80xU HK7X800803, 3840x2160, auto-up, 1.8"
|
||||||
|
"desc:Samsung Electric Company LS27D80xU HNAX600169, 2560x1440@59.95, auto-up, 1"
|
||||||
|
|
||||||
|
", preferred, auto-up, auto" # automatically add any newly detected monitor
|
||||||
|
];
|
||||||
|
|
||||||
|
xwayland = {
|
||||||
enabled = false;
|
enabled = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
# blur is set on a per-program basis
|
env = [
|
||||||
windowrulev2 = [
|
# force apps to use wayland
|
||||||
# kitty should behave like a floating window
|
"NIXOS_OZONE_WL, 1"
|
||||||
"animation popin, class:kitty"
|
"ELECTRON_OZONE_PLATFORM_HINT, wayland"
|
||||||
"move cursor -50% -50%, class:kitty"
|
# set the scale factor for GDK apps
|
||||||
"float, class:kitty"
|
"GDK_SCALE, 1.7"
|
||||||
"size 50% 50%, class:kitty"
|
# set the scale factor for QT apps
|
||||||
|
"QT_SCALE_FACTOR, 1.7"
|
||||||
# some more floating windows
|
# set the scale factor for GTK apps
|
||||||
"float, class:org.gnome.Settings"
|
|
||||||
"float, class:desktopclient.owncloud.com"
|
|
||||||
"float, class:org.keepassxc.KeePassXC"
|
|
||||||
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
monitor = [
|
plugins = [
|
||||||
"eDP-1, 3840x2160, 0x0, 1.666667" # the internal laptop monitor
|
# Global overview
|
||||||
# Samsung monitors at irchel (matching the description)
|
pkgs.hyprlandPlugins.hyprspace
|
||||||
# "desc:Samsung Electric Company LS27D80xU HK7X800803, 3840x2160, auto-up, 1.8"
|
# Touch gestures
|
||||||
"desc:Samsung Electric Company LS27D80xU HNAX600169, 2560x1440@59.95, auto-up, 1"
|
pkgs.hyprlandPlugins.hyprgrass
|
||||||
|
|
||||||
", preferred, auto-up, auto" # automatically add any newly detected monitor
|
|
||||||
];
|
|
||||||
|
|
||||||
xwayland = {
|
|
||||||
enabled = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
env = [
|
|
||||||
# force apps to use wayland
|
|
||||||
"NIXOS_OZONE_WL, 1"
|
|
||||||
"ELECTRON_OZONE_PLATFORM_HINT, wayland"
|
|
||||||
# set the scale factor for GDK apps
|
|
||||||
"GDK_SCALE, 1.7"
|
|
||||||
# set the scale factor for QT apps
|
|
||||||
"QT_SCALE_FACTOR, 1.7"
|
|
||||||
# set the scale factor for GTK apps
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
plugins = [
|
services.swaync.enable = true;
|
||||||
# Global overview
|
|
||||||
pkgs.hyprlandPlugins.hyprspace
|
|
||||||
# Touch gestures
|
|
||||||
pkgs.hyprlandPlugins.hyprgrass
|
|
||||||
];
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
services.swaync.enable = true;
|
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,7 @@
|
|||||||
{inputs, pkgs, ...}:
|
{inputs, pkgs, lib, config, ...}:
|
||||||
|
let
|
||||||
|
cfg = config.nix-config.style;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
# required to autoload fonts from packages installed via Home Manager
|
# required to autoload fonts from packages installed via Home Manager
|
||||||
fonts.fontconfig.enable = true;
|
fonts.fontconfig.enable = true;
|
||||||
@ -14,14 +17,16 @@
|
|||||||
settings = {
|
settings = {
|
||||||
|
|
||||||
mainBar = {
|
mainBar = {
|
||||||
margin-top = 2;
|
|
||||||
margin-bottom = 2;
|
|
||||||
margin-left = 5;
|
|
||||||
margin-right = 5;
|
|
||||||
|
|
||||||
layer = "top";
|
layer = "top";
|
||||||
position = "top";
|
position = "top";
|
||||||
spacing = 5;
|
|
||||||
|
margin-top = 5;
|
||||||
|
# margin-bottom = 2;
|
||||||
|
# margin-left = 5;
|
||||||
|
# margin-right = 5;
|
||||||
|
|
||||||
|
# margin between the modules
|
||||||
|
spacing = 2;
|
||||||
|
|
||||||
modules-left = [
|
modules-left = [
|
||||||
"hyprland/workspaces"
|
"hyprland/workspaces"
|
||||||
@ -36,8 +41,8 @@
|
|||||||
modules-right = [
|
modules-right = [
|
||||||
"tray"
|
"tray"
|
||||||
"privacy"
|
"privacy"
|
||||||
"wireplumber"
|
|
||||||
"network"
|
"network"
|
||||||
|
"wireplumber"
|
||||||
"battery"
|
"battery"
|
||||||
"backlight"
|
"backlight"
|
||||||
"idle_inhibitor"
|
"idle_inhibitor"
|
||||||
@ -150,18 +155,29 @@
|
|||||||
return-type = "json";
|
return-type = "json";
|
||||||
exec-if = "which swaync-client";
|
exec-if = "which swaync-client";
|
||||||
exec = "swaync-client -swb";
|
exec = "swaync-client -swb";
|
||||||
on-click = "sleep 0.1 && task-waybar";
|
on-click = "swaync-client -t -sw";
|
||||||
|
on-click-right = "swaync-client -d -sw";
|
||||||
escape = true;
|
escape = true;
|
||||||
};
|
};
|
||||||
"network" = {
|
"network" = {
|
||||||
format = "";
|
format = "";
|
||||||
format-wifi = "{icon} {essid}";
|
format-ethernet = " {ipaddr}";
|
||||||
|
format-wifi = "{icon}";
|
||||||
format-icons = [ "" "" "" "" "" ];
|
format-icons = [ "" "" "" "" "" ];
|
||||||
format-ethernet = " {ipaddr}/{cidr}";
|
format-disconnected = "";
|
||||||
format-disconnected = "";
|
tooltip-format = " {ifname} via {gwaddr}";
|
||||||
tooltip-format = " {ifname} via {gwaddr}";
|
# TODO - don't escape the strings in the tooltip
|
||||||
tooltip-format-wifi = "SSID: {essid}({signalStrength}%), {frequency} MHz\nInterface: {ifname}\nIP: {ipaddr}\nGW: {gwaddr}\n\n<span color='#a6da95'>{bandwidthUpBits}</span>\t<span color='#ee99a0'>{bandwidthDownBits}</span>\t<span color='#c6a0f6'>{bandwidthTotalBits}</span>";
|
tooltip-format-wifi = ''
|
||||||
tooltip-format-ethernet = "{ifname} ";
|
{essid}({signalStrength}%), {frequency} GHz\nInterface: {ifname}
|
||||||
|
IP: {ipaddr} GW: {gwaddr}
|
||||||
|
|
||||||
|
<span color='#a6da95'>{bandwidthUpBits}</span> <span color='#ee99a0'>{bandwidthDownBits}</span> <span color='#c6a0f6'>{bandwidthTotalBits}</span>
|
||||||
|
'';
|
||||||
|
tooltip-format-ethernet = ''
|
||||||
|
{ifname} - {ipaddr}/{cidr}
|
||||||
|
|
||||||
|
<span color='#a6da95'>{bandwidthUpBits}</span> <span color='#ee99a0'>{bandwidthDownBits}</span> <span color='#c6a0f6'>{bandwidthTotalBits}</span>
|
||||||
|
'';
|
||||||
tooltip-format-disconnected = "Disconnected";
|
tooltip-format-disconnected = "Disconnected";
|
||||||
on-click = "XDG_CURRENT_DESKTOP=GNOME gnome-control-center wifi";
|
on-click = "XDG_CURRENT_DESKTOP=GNOME gnome-control-center wifi";
|
||||||
};
|
};
|
||||||
@ -192,22 +208,20 @@
|
|||||||
|
|
||||||
style = ''
|
style = ''
|
||||||
* {
|
* {
|
||||||
font-family: "FiraCode Nerd Font";
|
font-family: "${cfg.monospaceFont}";
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-size: 20px;
|
font-size: ${builtins.toString (cfg.fontSizes.desktop + 7)}px;
|
||||||
}
|
}
|
||||||
|
|
||||||
window#waybar {
|
window#waybar {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.module {
|
.module {
|
||||||
background: rgba(0, 0, 0, 0.6);
|
background: rgba(0, 0, 0, 0.6);
|
||||||
color: white;
|
color: white;
|
||||||
border-radius: 7px;
|
border-radius: 7px;
|
||||||
padding: 5px 5px 5px 5px;
|
padding: 5px 5px 5px 5px;
|
||||||
margin: 5px 0;
|
|
||||||
}
|
}
|
||||||
box.module button:hover {
|
box.module button:hover {
|
||||||
box-shadow: inset 0 -3px #ffffff;
|
box-shadow: inset 0 -3px #ffffff;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{pkgs, lib, ...}:
|
{pkgs, lib, config, ...}:
|
||||||
let
|
let
|
||||||
stylix = import ./stylix.nix { inherit pkgs; };
|
cfg = config.nix-config.style;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
@ -35,12 +35,12 @@ in
|
|||||||
# color15 = stylix.stylix.base16Scheme.base0F;
|
# color15 = stylix.stylix.base16Scheme.base0F;
|
||||||
|
|
||||||
# also reuse the background opacity by stylix
|
# also reuse the background opacity by stylix
|
||||||
background_opacity = stylix.stylix.opacity.terminal;
|
background_opacity = cfg.terminalOpacity;
|
||||||
|
|
||||||
background = "#000000";
|
background = "#000000";
|
||||||
|
|
||||||
font_family = stylix.stylix.fonts.monospace.name;
|
font_family = cfg.monospaceFont;
|
||||||
font_size = stylix.stylix.fonts.sizes.terminal;
|
font_size = cfg.fontSizes.terminal;
|
||||||
confirm_os_window_close = 0;
|
confirm_os_window_close = 0;
|
||||||
enable_audio_bell = false;
|
enable_audio_bell = false;
|
||||||
cursor_trail = 3;
|
cursor_trail = 3;
|
||||||
|
@ -1,96 +1,147 @@
|
|||||||
{pkgs, ...}:
|
{pkgs, config, lib, ...}:
|
||||||
|
let
|
||||||
|
cfg = config.nix-config.style;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
stylix = {
|
options.nix-config.style = {
|
||||||
# Stylix is already enabled since the system is configured to use it
|
|
||||||
# enable = true;
|
|
||||||
# don't theme applications by default
|
|
||||||
autoEnable = false;
|
|
||||||
|
|
||||||
cursor = {
|
cursor = {
|
||||||
package = pkgs.apple-cursor;
|
size = lib.mkOption {
|
||||||
name = "macOS";
|
type = lib.types.int;
|
||||||
size = 35;
|
default = 35;
|
||||||
|
description = "Size of the cursor in pixels.";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
fontSizes = {
|
||||||
iconTheme = {
|
applications = lib.mkOption {
|
||||||
enable = true;
|
type = lib.types.int;
|
||||||
package = pkgs.tela-icon-theme;
|
default = 12;
|
||||||
};
|
description = "Font size for applications.";
|
||||||
|
|
||||||
|
|
||||||
image = ./../../wallpapers/magicpattern-87PP9Zd7MNo-unsplash.jpg;
|
|
||||||
|
|
||||||
|
|
||||||
fonts = {
|
|
||||||
|
|
||||||
serif = {
|
|
||||||
package = pkgs.dejavu_fonts;
|
|
||||||
name = "DejaVu Serif";
|
|
||||||
};
|
};
|
||||||
|
desktop = lib.mkOption {
|
||||||
sansSerif = {
|
type = lib.types.int;
|
||||||
package = pkgs.dejavu_fonts;
|
default = 12;
|
||||||
name = "DejaVu Sans";
|
description = "Font size for desktop icons.";
|
||||||
};
|
};
|
||||||
|
popups = lib.mkOption {
|
||||||
monospace = {
|
type = lib.types.int;
|
||||||
package = pkgs.nerdfonts.override { fonts = [ "FiraCode" ]; };
|
default = 12;
|
||||||
name = "FiraCode Nerd Font Mono";
|
description = "Font size for popups.";
|
||||||
};
|
};
|
||||||
|
terminal = lib.mkOption {
|
||||||
emoji = {
|
type = lib.types.int;
|
||||||
package = pkgs.noto-fonts-emoji;
|
default = 12;
|
||||||
name = "Noto Color Emoji";
|
description = "Font size for terminal.";
|
||||||
};
|
|
||||||
|
|
||||||
sizes = {
|
|
||||||
applications = 12;
|
|
||||||
desktop = 12;
|
|
||||||
popups = 12;
|
|
||||||
terminal = 12;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
opacity = {
|
terminalOpacity = lib.mkOption {
|
||||||
applications = 1.0;
|
type = lib.types.float;
|
||||||
desktop = 1.0;
|
default = 0.8;
|
||||||
popups = 0.9;
|
description = "Terminal default opacity";
|
||||||
terminal = 0.8;
|
};
|
||||||
|
|
||||||
|
monospaceFont = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "FiraCode Nerd Font Mono";
|
||||||
|
description = "Monospace font. Needs to be installed.";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
stylix.base16Scheme = {
|
|
||||||
scheme = "onelight";
|
|
||||||
author = "https://github.com/one-dark";
|
|
||||||
base00 = "#fafafa";
|
|
||||||
base01 = "#f4f4f4";
|
|
||||||
base02 = "#e5e5e6";
|
|
||||||
base03 = "#dfdfe0";
|
|
||||||
base04 = "#d7d7d8";
|
|
||||||
base05 = "#383a42";
|
|
||||||
base06 = "#202227";
|
|
||||||
base07 = "#090a0b";
|
|
||||||
base08 = "#d84a3d";
|
|
||||||
base09 = "#a626a4";
|
|
||||||
base0A = "#c18401";
|
|
||||||
base0B = "#50a14f";
|
|
||||||
base0C = "#0070a8";
|
|
||||||
base0D = "#4078f2";
|
|
||||||
base0E = "#a626a4";
|
|
||||||
base0F = "#986801";
|
|
||||||
|
|
||||||
};
|
config = {
|
||||||
|
|
||||||
stylix.targets = {
|
stylix = {
|
||||||
hyprpaper.enable = true;
|
# Stylix is already enabled since the system is configured to use it
|
||||||
hyprlock.enable = true;
|
# enable = true;
|
||||||
gnome.enable = true;
|
# don't theme applications by default
|
||||||
|
autoEnable = false;
|
||||||
|
|
||||||
# disabled because they overwrite too many settings
|
cursor = {
|
||||||
# wofi.enable = true;
|
package = pkgs.apple-cursor;
|
||||||
# vscode.enable = true;
|
name = "macOS";
|
||||||
# waybar.enable = true;
|
size = cfg.cursor.size;
|
||||||
# kitty.enable = true;
|
};
|
||||||
|
|
||||||
|
iconTheme = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.tela-icon-theme;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
image = ./../../wallpapers/magicpattern-87PP9Zd7MNo-unsplash.jpg;
|
||||||
|
|
||||||
|
|
||||||
|
fonts = {
|
||||||
|
|
||||||
|
serif = {
|
||||||
|
package = pkgs.dejavu_fonts;
|
||||||
|
name = "DejaVu Serif";
|
||||||
|
};
|
||||||
|
|
||||||
|
sansSerif = {
|
||||||
|
package = pkgs.dejavu_fonts;
|
||||||
|
name = "DejaVu Sans";
|
||||||
|
};
|
||||||
|
|
||||||
|
monospace = {
|
||||||
|
package = pkgs.nerdfonts.override { fonts = [ "FiraCode" ]; };
|
||||||
|
name = cfg.monospaceFont;
|
||||||
|
};
|
||||||
|
|
||||||
|
emoji = {
|
||||||
|
package = pkgs.noto-fonts-emoji;
|
||||||
|
name = "Noto Color Emoji";
|
||||||
|
};
|
||||||
|
|
||||||
|
sizes = {
|
||||||
|
applications = cfg.fontSizes.applications;
|
||||||
|
desktop = cfg.fontSizes.desktop;
|
||||||
|
popups = cfg.fontSizes.popups;
|
||||||
|
terminal = cfg.fontSizes.terminal;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
opacity = {
|
||||||
|
applications = 1.0;
|
||||||
|
desktop = 1.0;
|
||||||
|
popups = 0.9;
|
||||||
|
terminal = cfg.terminalOpacity;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
stylix.base16Scheme = {
|
||||||
|
scheme = "onelight";
|
||||||
|
author = "https://github.com/one-dark";
|
||||||
|
base00 = "#fafafa";
|
||||||
|
base01 = "#f4f4f4";
|
||||||
|
base02 = "#e5e5e6";
|
||||||
|
base03 = "#dfdfe0";
|
||||||
|
base04 = "#d7d7d8";
|
||||||
|
base05 = "#383a42";
|
||||||
|
base06 = "#202227";
|
||||||
|
base07 = "#090a0b";
|
||||||
|
base08 = "#d84a3d";
|
||||||
|
base09 = "#a626a4";
|
||||||
|
base0A = "#c18401";
|
||||||
|
base0B = "#50a14f";
|
||||||
|
base0C = "#0070a8";
|
||||||
|
base0D = "#4078f2";
|
||||||
|
base0E = "#a626a4";
|
||||||
|
base0F = "#986801";
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
stylix.targets = {
|
||||||
|
hyprpaper.enable = true;
|
||||||
|
hyprlock.enable = true;
|
||||||
|
gnome.enable = true;
|
||||||
|
|
||||||
|
# disabled because they overwrite too many settings
|
||||||
|
# wofi.enable = true;
|
||||||
|
# vscode.enable = true;
|
||||||
|
# waybar.enable = true;
|
||||||
|
# kitty.enable = true;
|
||||||
|
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
{ config, pkgs, lib, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
let
|
let
|
||||||
stylix = import ./stylix.nix { inherit pkgs; };
|
cfg = config.nix-config.style;
|
||||||
|
in
|
||||||
in {
|
{
|
||||||
|
|
||||||
home.packages = with pkgs; [ wofi-emoji ];
|
home.packages = with pkgs; [ wofi-emoji ];
|
||||||
|
|
||||||
@ -52,14 +52,14 @@ in {
|
|||||||
|
|
||||||
style = ''
|
style = ''
|
||||||
* {
|
* {
|
||||||
font-family: ${stylix.stylix.fonts.sansSerif.name};
|
font-family: ${cfg.monospaceFont};
|
||||||
font-size: ${builtins.toString (stylix.stylix.fonts.sizes.applications + 10)}px;
|
font-size: ${builtins.toString (cfg.fontSizes.desktop + 8)}px;
|
||||||
color: ${stylix.stylix.base16Scheme.base04};
|
color: white;
|
||||||
background: transparent;
|
background: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
#window {
|
#window {
|
||||||
background: rgba(41, 46, 66, 0.5);
|
background: rgba(1, 1, 1, 0.5);
|
||||||
margin: auto;
|
margin: auto;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
}
|
}
|
||||||
|
@ -10,17 +10,17 @@
|
|||||||
];
|
];
|
||||||
hardware.bluetooth = {
|
hardware.bluetooth = {
|
||||||
enable = true;
|
enable = true;
|
||||||
powerOnBoot = true;
|
# powerOnBoot = true;
|
||||||
settings = {
|
# settings = {
|
||||||
General = {
|
# General = {
|
||||||
Name = "Nixtre";
|
# Name = "Nixtre";
|
||||||
ControllerMode = "dual";
|
# ControllerMode = "dual";
|
||||||
FastConnectable = "true";
|
# FastConnectable = "true";
|
||||||
Experimental = "true";
|
# Experimental = "true";
|
||||||
};
|
# };
|
||||||
Policy = {
|
# Policy = {
|
||||||
AutoEnable = "true";
|
# AutoEnable = "true";
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -4,24 +4,32 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
let
|
||||||
|
cfg = config.nix-config;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
# Use hyprland as the main desktop environment but use gdm as desktop manager
|
|
||||||
programs.hyprland = {
|
config = {
|
||||||
enable = true;
|
|
||||||
xwayland.enable = false;
|
# Use hyprland as the main desktop environment but use gdm as desktop manager
|
||||||
|
programs.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
xwayland.enable = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
services.displayManager = {
|
||||||
|
defaultSession = "hyprland";
|
||||||
|
};
|
||||||
|
|
||||||
|
services.xserver.displayManager.gdm = {
|
||||||
|
enable = true;
|
||||||
|
wayland = true;
|
||||||
|
};
|
||||||
|
security.pam.services.hyprlock = {};
|
||||||
|
|
||||||
|
security.pam.services.gdm.enableGnomeKeyring = true;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
services.displayManager = {
|
|
||||||
defaultSession = "hyprland";
|
|
||||||
};
|
|
||||||
|
|
||||||
services.xserver.displayManager.gdm = {
|
|
||||||
enable = true;
|
|
||||||
wayland = true;
|
|
||||||
};
|
|
||||||
security.pam.services.hyprlock = {};
|
|
||||||
|
|
||||||
security.pam.services.gdm.enableGnomeKeyring = true;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
17
modules/nixos/usb_config.nix
Normal file
17
modules/nixos/usb_config.nix
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
boot.loader.grub.enable = true;
|
||||||
|
|
||||||
|
boot.loader.grub.efiSupport = true;
|
||||||
|
# location at install time. Since the drive is a USB drive this is expcected to change on each device
|
||||||
|
boot.loader.grub.device = "/dev/sdb";
|
||||||
|
boot.loader.grub.efiInstallAsRemovable = true;
|
||||||
|
boot.loader.systemd-boot.enable = false;
|
||||||
|
|
||||||
|
boot.loader.efi.canTouchEfiVariables = false;
|
||||||
|
boot.tmp.useTmpfs = true;
|
||||||
|
}
|
@ -1,26 +1,5 @@
|
|||||||
{ config, pkgs, lib, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
with lib.hm.gvariant;
|
|
||||||
{
|
{
|
||||||
imports = [
|
|
||||||
../modules/home-manager/browser.nix
|
|
||||||
../modules/home-manager/code.nix
|
|
||||||
../modules/home-manager/dev.nix
|
|
||||||
../modules/home-manager/documents.nix
|
|
||||||
../modules/home-manager/fish.nix
|
|
||||||
../modules/home-manager/flatpaks.nix
|
|
||||||
../modules/home-manager/hypr
|
|
||||||
../modules/home-manager/keepassxc.nix
|
|
||||||
../modules/home-manager/kitty.nix
|
|
||||||
../modules/home-manager/kubectl.nix
|
|
||||||
../modules/home-manager/obsidian.nix
|
|
||||||
../modules/home-manager/owncloud-client.nix
|
|
||||||
../modules/home-manager/ssh.nix
|
|
||||||
../modules/home-manager/stylix.nix
|
|
||||||
../modules/home-manager/thunderbird.nix
|
|
||||||
../modules/home-manager/wofi.nix
|
|
||||||
../modules/home-manager/xdg-portals.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
## Home Manager configuration
|
## Home Manager configuration
|
||||||
home.stateVersion = "24.05";
|
home.stateVersion = "24.05";
|
||||||
# Let Home Manager install and manage itself.
|
# Let Home Manager install and manage itself.
|
||||||
|
38
users/remy_spectre/default.nix
Normal file
38
users/remy_spectre/default.nix
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
with lib.hm.gvariant;
|
||||||
|
{
|
||||||
|
config = {
|
||||||
|
nix-config = {
|
||||||
|
hypr = {
|
||||||
|
internal-screen = {
|
||||||
|
resolution = "3840x2160";
|
||||||
|
scale = "1.666667";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
../remy.nix
|
||||||
|
../../modules/home-manager/browser.nix
|
||||||
|
../../modules/home-manager/code.nix
|
||||||
|
../../modules/home-manager/dev.nix
|
||||||
|
../../modules/home-manager/documents.nix
|
||||||
|
../../modules/home-manager/fish.nix
|
||||||
|
../../modules/home-manager/flatpaks.nix
|
||||||
|
../../modules/home-manager/hypr
|
||||||
|
../../modules/home-manager/keepassxc.nix
|
||||||
|
../../modules/home-manager/kitty.nix
|
||||||
|
../../modules/home-manager/kubectl.nix
|
||||||
|
../../modules/home-manager/obsidian.nix
|
||||||
|
../../modules/home-manager/owncloud-client.nix
|
||||||
|
../../modules/home-manager/ssh.nix
|
||||||
|
../../modules/home-manager/stylix.nix
|
||||||
|
../../modules/home-manager/thunderbird.nix
|
||||||
|
../../modules/home-manager/wofi.nix
|
||||||
|
../../modules/home-manager/xdg-portals.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
}
|
38
users/remy_yoga-usb/default.nix
Normal file
38
users/remy_yoga-usb/default.nix
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
with lib.hm.gvariant;
|
||||||
|
{
|
||||||
|
config = {
|
||||||
|
nix-config = {
|
||||||
|
hypr = {
|
||||||
|
internal-screen = {
|
||||||
|
resolution = "2880x1800@90.00100";
|
||||||
|
scale = "1.666667";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
../remy.nix
|
||||||
|
../../modules/home-manager/browser.nix
|
||||||
|
../../modules/home-manager/code.nix
|
||||||
|
../../modules/home-manager/dev.nix
|
||||||
|
../../modules/home-manager/documents.nix
|
||||||
|
../../modules/home-manager/fish.nix
|
||||||
|
../../modules/home-manager/flatpaks.nix
|
||||||
|
../../modules/home-manager/hypr
|
||||||
|
../../modules/home-manager/keepassxc.nix
|
||||||
|
../../modules/home-manager/kitty.nix
|
||||||
|
../../modules/home-manager/kubectl.nix
|
||||||
|
../../modules/home-manager/obsidian.nix
|
||||||
|
../../modules/home-manager/owncloud-client.nix
|
||||||
|
../../modules/home-manager/ssh.nix
|
||||||
|
../../modules/home-manager/stylix.nix
|
||||||
|
../../modules/home-manager/thunderbird.nix
|
||||||
|
../../modules/home-manager/wofi.nix
|
||||||
|
../../modules/home-manager/xdg-portals.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user