Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 462c4c4004 | |||
| 23b4031d35 | |||
| a172869a4a | |||
| 9d32d57869 | |||
| 58ff068589 | |||
| 33f94bf900 | |||
| 15e2687aae |
14 changed files with 438 additions and 217 deletions
72
flake.lock
generated
72
flake.lock
generated
|
|
@ -18,24 +18,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1787559586,
|
||||
"narHash": "sha256-onL0VLf9vPllmT0H/OlURIU5r5t5WIEl7t4tVNKT0Nw=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "9d0d87172c374f89da73c1cfe6d81ae62feac1f1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"fromYaml": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
|
@ -86,21 +68,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib": {
|
||||
"locked": {
|
||||
"lastModified": 1785031560,
|
||||
"narHash": "sha256-OmshNvn2vupOFpYinLUu+1Dnpu4n7Q5N3ggGVNHpkUI=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"rev": "0e79af5e3d4dcfcd676ab5ba3f95d2e3352e078c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1788039129,
|
||||
|
|
@ -117,30 +84,13 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1786719841,
|
||||
"narHash": "sha256-QcpQOT0NQEFkI77t+YXPZqDJc35iIodG7zinieOwFUg=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "8be7bd0c83f12e2e3bbba07c9044d6fed9e66f7f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"base16": "base16",
|
||||
"flake-parts": "flake-parts",
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"tt-schemes": "tt-schemes",
|
||||
"wrappers": "wrappers"
|
||||
"tt-terminal": "tt-terminal"
|
||||
}
|
||||
},
|
||||
"tt-schemes": {
|
||||
|
|
@ -159,21 +109,19 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"wrappers": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"tt-terminal": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1787722691,
|
||||
"narHash": "sha256-bWBt7v2FhgG6WTLgSi8nYGi1zXaTdA+vTdCRdvR2vcw=",
|
||||
"owner": "BirdeeHub",
|
||||
"repo": "nix-wrapper-modules",
|
||||
"rev": "04ef216559b18214853879df862f493a9e6bb8cf",
|
||||
"lastModified": 1786840953,
|
||||
"narHash": "sha256-R5U9KnrG5cARf90nw5e33Z4A4svwLTRv9qbvFAiAaAY=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-terminal",
|
||||
"rev": "993a33342b053b1830e4ccb82448455991dcfd54",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "BirdeeHub",
|
||||
"repo": "nix-wrapper-modules",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-terminal",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
54
flake.nix
54
flake.nix
|
|
@ -1,35 +1,59 @@
|
|||
{
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
wrappers.url = "github:BirdeeHub/nix-wrapper-modules";
|
||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||
base16.url = "github:SenchoPens/base16.nix";
|
||||
home-manager.url = "github:nix-community/home-manager";
|
||||
tt-schemes = {
|
||||
url = "github:tinted-theming/schemes";
|
||||
flake = false;
|
||||
};
|
||||
home-manager.url = "github:nix-community/home-manager";
|
||||
tt-terminal = {
|
||||
url = "github:tinted-theming/tinted-terminal";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
};
|
||||
outputs =
|
||||
{
|
||||
self,
|
||||
nixpkgs,
|
||||
wrappers,
|
||||
flake-parts,
|
||||
base16,
|
||||
home-manager,
|
||||
...
|
||||
}@inputs:
|
||||
flake-parts.lib.mkFlake { inherit inputs; } (
|
||||
let
|
||||
theme = "catppuccin-mocha";
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
wrappers.flakeModules.wrappers
|
||||
(import ./hosts.nix { themeName = theme; })
|
||||
let
|
||||
theme = "catppuccin-mocha";
|
||||
in
|
||||
{
|
||||
nixosConfigurations.nerv = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = { inherit inputs; };
|
||||
modules = [
|
||||
./theme.nix
|
||||
({ pkgs, ... }: {
|
||||
config.theming.theme = "catppuccin-mocha";
|
||||
config.theming.font = "Iosevka";
|
||||
config.theming.fontPackage = pkgs.iosevka;
|
||||
})
|
||||
base16.nixosModule
|
||||
({ config, ... }: { scheme = "${config.theming.theme}"; })
|
||||
./modules/hosts/nerv/configuration.nix
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = { inherit inputs; };
|
||||
imports = [
|
||||
./modules/home.nix
|
||||
./modules/programs/emacs.nix
|
||||
./modules/programs/niri.nix
|
||||
./modules/programs/foot.nix
|
||||
./modules/programs/quickshell.nix
|
||||
./modules/programs/fuzzel.nix
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
|
|||
28
hosts.nix
28
hosts.nix
|
|
@ -1,28 +0,0 @@
|
|||
{themeName}: { inputs, config, self, ... }:
|
||||
{
|
||||
flake.nixosConfigurations.nerv = inputs.nixpkgs.lib.nixosSystem {
|
||||
specialArgs = { inherit inputs; };
|
||||
modules = [
|
||||
inputs.base16.nixosModule
|
||||
{ scheme = "${inputs.tt-schemes}/base16/${themeName}.yaml"; }
|
||||
./modules/hosts/nerv/configuration.nix
|
||||
./modules/home.nix
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = { inherit inputs; };
|
||||
}
|
||||
{
|
||||
imports = [
|
||||
(inputs.wrappers.lib.getInstallModule {
|
||||
name = "emacs";
|
||||
value = inputs.wrappers.lib.wrapperModules.emacs;
|
||||
})
|
||||
./modules/programs/emacs/emacs.nix
|
||||
];
|
||||
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
@ -8,10 +8,37 @@ let
|
|||
in
|
||||
{
|
||||
home-manager.users.lucy = {
|
||||
home.packages = with pkgs; [
|
||||
nixd
|
||||
nixfmt
|
||||
clang
|
||||
kdePackages.qtdeclarative
|
||||
];
|
||||
home.stateVersion = "26.05";
|
||||
home.pointerCursor = {
|
||||
enable = true;
|
||||
name = "macOS";
|
||||
package = pkgs.apple-cursor;
|
||||
size = 24;
|
||||
};
|
||||
gtk = {
|
||||
enable = true;
|
||||
colorScheme = "dark";
|
||||
theme = {
|
||||
name = "adw-gtk3-dark";
|
||||
package = pkgs.adw-gtk3;
|
||||
};
|
||||
iconTheme = {
|
||||
name = "Papirus-Dark";
|
||||
package = pkgs.papirus-icon-theme;
|
||||
};
|
||||
font = {
|
||||
name = config.theming.font;
|
||||
package = config.theming.fontPackage;
|
||||
size = 12;
|
||||
};
|
||||
cursorTheme.name = "macOS";
|
||||
cursorTheme.size = 24;
|
||||
gtk3.extraCss = ''
|
||||
@define-color theme_bg_color ${c.base00};
|
||||
@define-color theme_fg_color ${c.base05};
|
||||
|
|
@ -52,5 +79,6 @@ in
|
|||
@define-color success_color ${c.base0B};
|
||||
'';
|
||||
};
|
||||
dconf.settings."org/gnome/desktop/interface".color-scheme = "prefer-dark";
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +0,0 @@
|
|||
{ inputs, ... }: {
|
||||
flake.nixosConfigurations.nerv = inputs.nixpkgs.lib.nixosSystem {
|
||||
modules = [
|
||||
./configuration.nix
|
||||
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -1 +0,0 @@
|
|||
lucy@nerv.50314:1788169501
|
||||
|
|
@ -20,7 +20,10 @@
|
|||
networking.networkmanager.enable = true;
|
||||
|
||||
# enable flakes
|
||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||
nix.settings.experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
|
||||
# use proprietary nvidia drivers
|
||||
hardware.graphics.enable = true;
|
||||
|
|
@ -39,6 +42,10 @@
|
|||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
services.desktopManager.gnome.enable = true;
|
||||
services.displayManager.gdm.enable = true;
|
||||
programs.niri = {
|
||||
enable = true;
|
||||
|
||||
};
|
||||
services.xserver.xkb.layout = "us";
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
|
|
@ -62,6 +69,9 @@
|
|||
git
|
||||
clang
|
||||
];
|
||||
fonts.packages = [
|
||||
config.theming.fontPackage
|
||||
];
|
||||
system.stateVersion = "26.05"; # Did you read the comment?
|
||||
|
||||
}
|
||||
|
|
|
|||
78
modules/programs/emacs.nix
Normal file
78
modules/programs/emacs.nix
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
{
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
home-manager.users.lucy.programs.emacs = {
|
||||
enable = true;
|
||||
extraPackages =
|
||||
epkgs: with epkgs.melpaPackages; [
|
||||
corfu
|
||||
cape
|
||||
qml-mode
|
||||
lua-mode
|
||||
elcord
|
||||
nix-mode
|
||||
base16-theme
|
||||
];
|
||||
|
||||
extraConfig = ''
|
||||
;;; -*- lexical-binding: t; -*-
|
||||
(setq make-backup-files nil)
|
||||
(load-theme 'base16-${config.scheme.scheme-slug} t)
|
||||
(use-package
|
||||
corfu
|
||||
:init
|
||||
(setq
|
||||
corfu-auto t
|
||||
corfu-auto-delay 0.2)
|
||||
(global-corfu-mode))
|
||||
|
||||
(setq tab-always-indent 'complete)
|
||||
(use-package
|
||||
cape
|
||||
:bind ("C-c p" . cape-prefix-map) ;; Alternative key: M-<tab>, M-p, M-+
|
||||
:init (add-hook 'completion-at-point-functions #'cape-file))
|
||||
(setq corfu-auto-prefix 2)
|
||||
(use-package qml-mode)
|
||||
(use-package lua-mode)
|
||||
(use-package elcord :init (elcord-mode))
|
||||
|
||||
(add-to-list
|
||||
'display-buffer-alist
|
||||
'("\\*compilation\\*" (display-buffer-reuse-window
|
||||
display-buffer-below-selected)
|
||||
(window-height . 0.3)))
|
||||
|
||||
|
||||
;; remove useless shit and set default opts
|
||||
(setq ring-bell-function 'ignore)
|
||||
(menu-bar-mode -1)
|
||||
(tool-bar-mode -1)
|
||||
(setq display-line-numbers-type 'relative)
|
||||
(global-display-line-numbers-mode +1)
|
||||
(global-tab-line-mode 1)
|
||||
(scroll-bar-mode -1)
|
||||
(setq inhibit-splash-screen 1)
|
||||
(setq custom-file "~/.emacs.d/custom.el")
|
||||
(load custom-file 'noerror)
|
||||
|
||||
|
||||
;; lsp shit
|
||||
(add-hook 'nix-mode-hook #'eglot-ensure)
|
||||
(add-hook 'c-mode-hook #'eglot-ensure)
|
||||
(add-hook 'qml-mode-hook #'eglot-ensure)
|
||||
(with-eval-after-load 'eglot
|
||||
(add-to-list 'eglot-server-programs '(nix-mode . ("nixd")))
|
||||
(add-to-list 'eglot-server-programs '(qml-mode . ("qmlls"))))
|
||||
|
||||
;; keybindings
|
||||
(keymap-global-set "C-c f" 'eglot-format)
|
||||
(keymap-global-set "C-c t" 'term)
|
||||
(keymap-global-set "C-c c" 'compile)
|
||||
(keymap-global-set "C-c k b" 'kill-current-buffer)
|
||||
(keymap-global-set "C-c k w" 'kill-buffer-and-window)
|
||||
(windmove-default-keybindings)
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
@ -1,101 +0,0 @@
|
|||
{
|
||||
inputs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
schemeName = config.scheme;
|
||||
in
|
||||
{
|
||||
wrappers.emacs =
|
||||
{
|
||||
pkgs,
|
||||
wlib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
scheme = (pkgs.callPackage inputs.base16.lib { }).mkSchemeAttrs schemeName;
|
||||
in
|
||||
{
|
||||
enable = true;
|
||||
imports = [
|
||||
wlib.wrapperModules.emacs
|
||||
];
|
||||
emacsPackages =
|
||||
epkgs: with epkgs.melpaPackages; [
|
||||
corfu
|
||||
cape
|
||||
qml-mode
|
||||
lua-mode
|
||||
elcord
|
||||
nix-mode
|
||||
base16-theme
|
||||
];
|
||||
|
||||
runtimePkgs = with pkgs; [
|
||||
nixd
|
||||
nixfmt
|
||||
qt6.qtdeclarative
|
||||
];
|
||||
constructFiles.early-init.content = lib.mkBefore ";;; -*- lexical-binding: t; -*-";
|
||||
configFile = ''
|
||||
;;; -*- lexical-binding: t; -*-
|
||||
(setq make-backup-files nil)
|
||||
(load-theme 'base16-${scheme.scheme-slug} t)
|
||||
(use-package
|
||||
corfu
|
||||
:init
|
||||
(setq
|
||||
corfu-auto t
|
||||
corfu-auto-delay 0.2)
|
||||
(global-corfu-mode))
|
||||
|
||||
(setq tab-always-indent 'complete)
|
||||
(use-package
|
||||
cape
|
||||
:bind ("C-c p" . cape-prefix-map) ;; Alternative key: M-<tab>, M-p, M-+
|
||||
:init (add-hook 'completion-at-point-functions #'cape-file))
|
||||
(setq corfu-auto-prefix 2)
|
||||
(use-package qml-mode)
|
||||
(use-package lua-mode)
|
||||
(use-package elcord :init (elcord-mode))
|
||||
|
||||
(add-to-list
|
||||
'display-buffer-alist
|
||||
'("\\*compilation\\*" (display-buffer-reuse-window
|
||||
display-buffer-below-selected)
|
||||
(window-height . 0.3)))
|
||||
|
||||
|
||||
;; remove useless shit and set default opts
|
||||
(setq ring-bell-function 'ignore)
|
||||
(menu-bar-mode -1)
|
||||
(tool-bar-mode -1)
|
||||
(setq display-line-numbers-type 'relative)
|
||||
(global-display-line-numbers-mode +1)
|
||||
(global-tab-line-mode 1)
|
||||
(scroll-bar-mode -1)
|
||||
(setq inhibit-splash-screen 1)
|
||||
(setq custom-file "~/.emacs.d/custom.el")
|
||||
(load custom-file 'noerror)
|
||||
|
||||
|
||||
;; lsp shit
|
||||
(add-hook 'nix-mode-hook #'eglot-ensure)
|
||||
(add-hook 'c-mode-hook #'eglot-ensure)
|
||||
(add-hook 'qml-mode-hook #'eglot-ensure)
|
||||
(with-eval-after-load 'eglot
|
||||
(add-to-list 'eglot-server-programs '(nix-mode . ("nixd")))
|
||||
(add-to-list 'eglot-server-programs '(qml-mode . ("qmlls"))))
|
||||
|
||||
;; keybindings
|
||||
(keymap-global-set "C-c f" 'eglot-format)
|
||||
(keymap-global-set "C-c t" 'term)
|
||||
(keymap-global-set "C-c c" 'compile)
|
||||
(keymap-global-set "C-c k b" 'kill-current-buffer)
|
||||
(keymap-global-set "C-c k w" 'kill-buffer-and-window)
|
||||
(windmove-default-keybindings)
|
||||
'';
|
||||
};
|
||||
}
|
||||
47
modules/programs/foot.nix
Normal file
47
modules/programs/foot.nix
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
{
|
||||
pkgs,
|
||||
config,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
c = config.scheme;
|
||||
in
|
||||
{
|
||||
home-manager.users.lucy.programs.foot = {
|
||||
enable = true;
|
||||
settings = {
|
||||
main = {
|
||||
font = "${config.theming.font}:size=12";
|
||||
pad = "15x15";
|
||||
};
|
||||
|
||||
colors-dark = {
|
||||
background = c.base00;
|
||||
foreground = c.base05;
|
||||
|
||||
regular0 = c.base00;
|
||||
regular1 = c.base08;
|
||||
regular2 = c.base0B;
|
||||
regular3 = c.base0A;
|
||||
regular4 = c.base0D;
|
||||
regular5 = c.base0E;
|
||||
regular6 = c.base0C;
|
||||
regular7 = c.base05;
|
||||
|
||||
bright0 = c.base03;
|
||||
bright1 = c.base08;
|
||||
bright2 = c.base0B;
|
||||
bright3 = c.base0A;
|
||||
bright4 = c.base0D;
|
||||
bright5 = c.base0E;
|
||||
bright6 = c.base0C;
|
||||
bright7 = c.base07;
|
||||
|
||||
selection-foreground = c.base00;
|
||||
selection-background = c.base05;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
24
modules/programs/fuzzel.nix
Normal file
24
modules/programs/fuzzel.nix
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
{ config, ... }:
|
||||
let
|
||||
c = config.scheme.withHashtag;
|
||||
in
|
||||
{
|
||||
home-manager.users.lucy = {
|
||||
programs.fuzzel = {
|
||||
enable = true;
|
||||
settings = {
|
||||
main = {
|
||||
font = "${config.theming.font}:size=12";
|
||||
};
|
||||
border.width = 2;
|
||||
colors = {
|
||||
background = "${c.base00}ff";
|
||||
text = "${c.base05}ff";
|
||||
match = "${c.base0D}ff";
|
||||
selection = "${c.base0D}ff";
|
||||
border = "${c.base0D}ff";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
153
modules/programs/niri.nix
Normal file
153
modules/programs/niri.nix
Normal file
|
|
@ -0,0 +1,153 @@
|
|||
{ pkgs, config, ... }:
|
||||
{
|
||||
home-manager.users.lucy.wayland.windowManager.niri = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
prefer-no-csd
|
||||
environment {
|
||||
GTK_THEME "adw-gtk3-dark"
|
||||
XDG_CURRENT_DESKTOP "niri"
|
||||
XDG_SESSION_TYPE "wayland"
|
||||
XDG_SESSION_DESKTOP "niri"
|
||||
QT_QPA_PLATFORM "wayland;xcb"
|
||||
OZONE_PLATFORM "wayland"
|
||||
ELECTRON_OZONE_PLATFORM_HINT "auto"
|
||||
}
|
||||
cursor {
|
||||
xcursor-size 24
|
||||
xcursor-theme "macOS"
|
||||
}
|
||||
input {
|
||||
keyboard {
|
||||
xkb {
|
||||
layout "eu"
|
||||
}
|
||||
}
|
||||
|
||||
touchpad {
|
||||
tap
|
||||
natural-scroll
|
||||
}
|
||||
|
||||
mouse {
|
||||
accel-speed -0.4
|
||||
accel-profile "flat"
|
||||
}
|
||||
focus-follows-mouse max-scroll-amount="0%"
|
||||
}
|
||||
|
||||
output "PNP(BNQ) BenQ EX2710Q K6R04023019" {
|
||||
mode "2560x1440@165.002"
|
||||
scale 1
|
||||
transform "normal"
|
||||
position x=1920 y=0
|
||||
}
|
||||
output "Dell Inc. DELL P2317H 9KFDW6C533DB" {
|
||||
position x=0 y=0
|
||||
}
|
||||
|
||||
|
||||
layout {
|
||||
gaps 16
|
||||
center-focused-column "never"
|
||||
default-column-width { proportion 0.5; }
|
||||
focus-ring {
|
||||
off
|
||||
}
|
||||
border {
|
||||
width 4
|
||||
active-color "${config.scheme.withHashtag.base0D}"
|
||||
inactive-color "${config.scheme.withHashtag.base02}"
|
||||
}
|
||||
}
|
||||
screenshot-path null
|
||||
animations {}
|
||||
window-rule {
|
||||
geometry-corner-radius 16
|
||||
clip-to-geometry true
|
||||
}
|
||||
|
||||
binds {
|
||||
Mod+return { spawn "foot"; }
|
||||
Mod+space { spawn "fuzzel"; }
|
||||
Mod+e { spawn "nautilus"; }
|
||||
|
||||
XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+ -l 1.0"; }
|
||||
XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-"; }
|
||||
XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; }
|
||||
XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; }
|
||||
|
||||
XF86AudioPlay allow-when-locked=true { spawn-sh "playerctl play-pause"; }
|
||||
XF86AudioStop allow-when-locked=true { spawn-sh "playerctl stop"; }
|
||||
XF86AudioPrev allow-when-locked=true { spawn-sh "playerctl previous"; }
|
||||
XF86AudioNext allow-when-locked=true { spawn-sh "playerctl next"; }
|
||||
|
||||
XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "+10%"; }
|
||||
XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "10%-"; }
|
||||
|
||||
Mod+O repeat=false { toggle-overview; }
|
||||
Mod+Q repeat=false { close-window; }
|
||||
|
||||
Mod+Left { focus-column-left; }
|
||||
Mod+Down { focus-window-down; }
|
||||
Mod+Up { focus-window-up; }
|
||||
Mod+Right { focus-column-right; }
|
||||
Mod+H { focus-column-left; }
|
||||
Mod+J { focus-window-down; }
|
||||
Mod+K { focus-window-up; }
|
||||
Mod+L { focus-column-right; }
|
||||
Mod+Ctrl+Left { move-column-left; }
|
||||
Mod+Ctrl+Down { move-window-down; }
|
||||
Mod+Ctrl+Up { move-window-up; }
|
||||
Mod+Ctrl+Right { move-column-right; }
|
||||
Mod+Ctrl+H { move-column-left; }
|
||||
Mod+Ctrl+J { move-window-down; }
|
||||
Mod+Ctrl+K { move-window-up; }
|
||||
mod+ctrl+l { move-column-right; }
|
||||
|
||||
Mod+comma { focus-monitor-left; }
|
||||
Mod+period { focus-monitor-right; }
|
||||
|
||||
Mod+Shift+comma { move-column-to-monitor-left; }
|
||||
Mod+Shift+period { move-column-to-monitor-right; }
|
||||
|
||||
|
||||
Mod+Shift+WheelScrollDown { focus-column-right; }
|
||||
Mod+Shift+WheelScrollUp { focus-column-left; }
|
||||
Mod+1 { focus-workspace 1; }
|
||||
Mod+2 { focus-workspace 2; }
|
||||
Mod+3 { focus-workspace 3; }
|
||||
Mod+4 { focus-workspace 4; }
|
||||
Mod+5 { focus-workspace 5; }
|
||||
Mod+6 { focus-workspace 6; }
|
||||
Mod+7 { focus-workspace 7; }
|
||||
Mod+8 { focus-workspace 8; }
|
||||
Mod+9 { focus-workspace 9; }
|
||||
Mod+Ctrl+1 { move-column-to-workspace 1; }
|
||||
Mod+Ctrl+2 { move-column-to-workspace 2; }
|
||||
Mod+Ctrl+3 { move-column-to-workspace 3; }
|
||||
Mod+Ctrl+4 { move-column-to-workspace 4; }
|
||||
Mod+Ctrl+5 { move-column-to-workspace 5; }
|
||||
Mod+Ctrl+6 { move-column-to-workspace 6; }
|
||||
Mod+Ctrl+7 { move-column-to-workspace 7; }
|
||||
Mod+Ctrl+8 { move-column-to-workspace 8; }
|
||||
Mod+Ctrl+9 { move-column-to-workspace 9; }
|
||||
|
||||
Mod+BracketLeft { consume-or-expel-window-left; }
|
||||
Mod+BracketRight { consume-or-expel-window-right; }
|
||||
Mod+F { maximize-column; }
|
||||
|
||||
Mod+Minus { set-column-width "-10%"; }
|
||||
Mod+Equal { set-column-width "+10%"; }
|
||||
|
||||
Mod+V { toggle-window-floating; }
|
||||
Mod+Shift+S { screenshot; }
|
||||
Alt+Shift+S { screenshot-screen; }
|
||||
Alt+Ctrl+S { screenshot-window; }
|
||||
Mod+Shift+q { quit; }
|
||||
}
|
||||
'';
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
36
modules/programs/quickshell.nix
Normal file
36
modules/programs/quickshell.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{ pkgs, config, ... }:
|
||||
let
|
||||
c = config.scheme.withHashtag;
|
||||
in
|
||||
{
|
||||
|
||||
home-manager.users.lucy = {
|
||||
programs.quickshell.enable = true;
|
||||
programs.quickshell.systemd.enable = true;
|
||||
xdg.configFile."quickshell/Colors.js" = {
|
||||
enable = true;
|
||||
text = ''
|
||||
const colors = {
|
||||
base00: "${c.base00}",
|
||||
base01: "${c.base01}",
|
||||
base02: "${c.base02}",
|
||||
base03: "${c.base03}",
|
||||
base04: "${c.base04}",
|
||||
base05: "${c.base05}",
|
||||
base06: "${c.base06}",
|
||||
base07: "${c.base07}",
|
||||
base08: "${c.base08}",
|
||||
base09: "${c.base09}",
|
||||
base0A: "${c.base0A}",
|
||||
base0B: "${c.base0B}",
|
||||
base0C: "${c.base0C}",
|
||||
base0D: "${c.base0D}",
|
||||
base0E: "${c.base0E}",
|
||||
base0F: "${c.base0F}",
|
||||
}
|
||||
'';
|
||||
force = true;
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
12
theme.nix
Normal file
12
theme.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{ lib, inputs, ...}: {
|
||||
options.theming.theme = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
apply = name: "${inputs.tt-schemes}/base16/${name}.yaml";
|
||||
};
|
||||
options.theming.font = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
};
|
||||
options.theming.fontPackage = lib.mkOption {
|
||||
type = lib.types.package;
|
||||
};
|
||||
}
|
||||
Loading…
Reference in a new issue