Fix screen layout. Add fuzzel

This commit is contained in:
KnightArtorias 2025-12-11 23:39:49 +00:00
parent 9a03d585e4
commit 658543f820
5 changed files with 34 additions and 56 deletions

View file

@ -23,9 +23,8 @@
# Generic NixOS config # Generic NixOS config
mkNixOSConfig = { mkNixOSConfig = {
path, path,
type,
hostname,
extraModules ? [], extraModules ? [],
vars,
}: }:
nixpkgs.lib.nixosSystem { nixpkgs.lib.nixosSystem {
specialArgs = { specialArgs = {
@ -37,21 +36,19 @@
path path
] ]
++ extraModules; ++ extraModules;
vars.type = type;
vars.hostname = hostname;
}; };
# Additional modules for physical hosts # Additional modules for physical hosts
mkPhysicalNixOSConfig = { mkPhysicalNixOSConfig = path:
path, let
type, updatedVars = vars // {
hostname, hostType = "physical";
}: hostName = "crow";
};
in
mkNixOSConfig { mkNixOSConfig {
vars = updatedVars;
path = path; path = path;
type = type;
hostname = hostname;
extraModules = [ ./hosts/physical ]; extraModules = [ ./hosts/physical ];
}; };
@ -72,7 +69,7 @@
# Collection of all of our configs # Collection of all of our configs
nixosConfigurations = { nixosConfigurations = {
# =========== Desktops =========== # =========== Desktops ===========
crow = mkPhysicalNixOSConfig ./hosts/physical/crow "physical" "crow"; crow = mkPhysicalNixOSConfig ./hosts/physical/crow;
}; };
}; };
} }

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, vars, ... }:
{ {
imports = [ imports = [
@ -6,7 +6,7 @@
../tiling ../tiling
]; ];
xdg.configFile."niri/config.kdl".source = ../../../../hosts/${vars.type}/${vars.hostname}/host-configs/niri/config.kdl; xdg.configFile."niri/config.kdl".source = ../../../../hosts/${vars.hostType}/${vars.hostName}/host-configs/niri/config.kdl;
programs.zsh = { programs.zsh = {
profileExtra = '' profileExtra = ''

View file

@ -5,5 +5,6 @@
./mako.nix ./mako.nix
./swayidle.nix ./swayidle.nix
./quickshell.nix ./quickshell.nix
./fuzzel.nix
]; ];
} }

View file

@ -0,0 +1,7 @@
{ pkgs, ... }:
{
programs.fuzzel = {
enable = true;
};
}

View file

@ -3,6 +3,9 @@
// Check the wiki for a full description of the configuration: // Check the wiki for a full description of the configuration:
// https://yalter.github.io/niri/Configuration:-Introduction // https://yalter.github.io/niri/Configuration:-Introduction
// Disable title bars
prefer-no-csd
// Input device configuration. // Input device configuration.
// Find the full list of options on the wiki: // Find the full list of options on the wiki:
// https://yalter.github.io/niri/Configuration:-Input // https://yalter.github.io/niri/Configuration:-Input
@ -10,6 +13,9 @@ input {
keyboard { keyboard {
// Enable numlock on startup, omitting this setting disables it. // Enable numlock on startup, omitting this setting disables it.
numlock numlock
repeat-rate 35
repeat-delay 200
} }
// Next sections include libinput settings. // Next sections include libinput settings.
@ -36,44 +42,11 @@ input {
// You can configure outputs by their name, which you can find // You can configure outputs by their name, which you can find
// by running `niri msg outputs` while inside a niri instance. // by running `niri msg outputs` while inside a niri instance.
// The built-in laptop monitor is usually called "eDP-1".
// Find more information on the wiki: // Find more information on the wiki:
// https://yalter.github.io/niri/Configuration:-Outputs // https://yalter.github.io/niri/Configuration:-Outputs
// Remember to uncomment the node by removing "/-"!
/-output "eDP-1" {
// Uncomment this line to disable this output.
// off
// Resolution and, optionally, refresh rate of the output.
// The format is "<width>x<height>" or "<width>x<height>@<refresh rate>".
// If the refresh rate is omitted, niri will pick the highest refresh rate
// for the resolution.
// If the mode is omitted altogether or is invalid, niri will pick one automatically.
// Run `niri msg outputs` while inside a niri instance to list all outputs and their modes.
mode "1920x1080@120.030"
// You can use integer or fractional scale, for example use 1.5 for 150% scale.
scale 2
// Transform allows to rotate the output counter-clockwise, valid values are:
// normal, 90, 180, 270, flipped, flipped-90, flipped-180 and flipped-270.
transform "normal"
// Position of the output in the global coordinate space.
// This affects directional monitor actions like "focus-monitor-left", and cursor movement.
// The cursor can only move between directly adjacent outputs.
// Output scale and rotation has to be taken into account for positioning:
// outputs are sized in logical, or scaled, pixels.
// For example, a 3840×2160 output with scale 2.0 will have a logical size of 1920×1080,
// so to put another output directly adjacent to it on the right, set its x to 1920.
// If the position is unset or results in an overlap, the output is instead placed
// automatically.
position x=1280 y=0
}
output "HDMI-A-1" { output "HDMI-A-1" {
mode "1920x1080@60.00" mode "1920x1080@60.00"
position x=0 y=-180 position x=0 y=180
} }
output "DP-2" { output "DP-2" {
@ -83,7 +56,7 @@ output "DP-2" {
output "DP-1" { output "DP-1" {
mode "1680x1050@60.00" mode "1680x1050@60.00"
position x=4480 y=-195 position x=4480 y=195
} }
// Settings that influence how windows are positioned and sized. // Settings that influence how windows are positioned and sized.
@ -91,7 +64,7 @@ output "DP-1" {
// https://yalter.github.io/niri/Configuration:-Layout // https://yalter.github.io/niri/Configuration:-Layout
layout { layout {
// Set gaps around windows in logical pixels. // Set gaps around windows in logical pixels.
gaps 16 gaps 10
// When to center a column when changing focus, options are: // When to center a column when changing focus, options are:
// - "never", default behavior, focusing an off-screen column will keep at the left // - "never", default behavior, focusing an off-screen column will keep at the left