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"
|
"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": {
|
"fromYaml": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
|
@ -86,21 +68,6 @@
|
||||||
"type": "github"
|
"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": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1788039129,
|
"lastModified": 1788039129,
|
||||||
|
|
@ -117,30 +84,13 @@
|
||||||
"type": "github"
|
"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": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"base16": "base16",
|
"base16": "base16",
|
||||||
"flake-parts": "flake-parts",
|
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"tt-schemes": "tt-schemes",
|
"tt-schemes": "tt-schemes",
|
||||||
"wrappers": "wrappers"
|
"tt-terminal": "tt-terminal"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tt-schemes": {
|
"tt-schemes": {
|
||||||
|
|
@ -159,21 +109,19 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"wrappers": {
|
"tt-terminal": {
|
||||||
"inputs": {
|
"flake": false,
|
||||||
"nixpkgs": "nixpkgs_3"
|
|
||||||
},
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1787722691,
|
"lastModified": 1786840953,
|
||||||
"narHash": "sha256-bWBt7v2FhgG6WTLgSi8nYGi1zXaTdA+vTdCRdvR2vcw=",
|
"narHash": "sha256-R5U9KnrG5cARf90nw5e33Z4A4svwLTRv9qbvFAiAaAY=",
|
||||||
"owner": "BirdeeHub",
|
"owner": "tinted-theming",
|
||||||
"repo": "nix-wrapper-modules",
|
"repo": "tinted-terminal",
|
||||||
"rev": "04ef216559b18214853879df862f493a9e6bb8cf",
|
"rev": "993a33342b053b1830e4ccb82448455991dcfd54",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "BirdeeHub",
|
"owner": "tinted-theming",
|
||||||
"repo": "nix-wrapper-modules",
|
"repo": "tinted-terminal",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
44
flake.nix
44
flake.nix
|
|
@ -1,35 +1,59 @@
|
||||||
{
|
{
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
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";
|
base16.url = "github:SenchoPens/base16.nix";
|
||||||
|
home-manager.url = "github:nix-community/home-manager";
|
||||||
tt-schemes = {
|
tt-schemes = {
|
||||||
url = "github:tinted-theming/schemes";
|
url = "github:tinted-theming/schemes";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
home-manager.url = "github:nix-community/home-manager";
|
tt-terminal = {
|
||||||
|
url = "github:tinted-theming/tinted-terminal";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
outputs =
|
outputs =
|
||||||
{
|
{
|
||||||
self,
|
self,
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
wrappers,
|
|
||||||
flake-parts,
|
|
||||||
base16,
|
base16,
|
||||||
home-manager,
|
home-manager,
|
||||||
...
|
...
|
||||||
}@inputs:
|
}@inputs:
|
||||||
flake-parts.lib.mkFlake { inherit inputs; } (
|
|
||||||
let
|
let
|
||||||
theme = "catppuccin-mocha";
|
theme = "catppuccin-mocha";
|
||||||
in
|
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 = [
|
imports = [
|
||||||
wrappers.flakeModules.wrappers
|
./modules/home.nix
|
||||||
(import ./hosts.nix { themeName = theme; })
|
./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
|
in
|
||||||
{
|
{
|
||||||
home-manager.users.lucy = {
|
home-manager.users.lucy = {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
nixd
|
||||||
|
nixfmt
|
||||||
|
clang
|
||||||
|
kdePackages.qtdeclarative
|
||||||
|
];
|
||||||
home.stateVersion = "26.05";
|
home.stateVersion = "26.05";
|
||||||
|
home.pointerCursor = {
|
||||||
|
enable = true;
|
||||||
|
name = "macOS";
|
||||||
|
package = pkgs.apple-cursor;
|
||||||
|
size = 24;
|
||||||
|
};
|
||||||
gtk = {
|
gtk = {
|
||||||
enable = true;
|
enable = true;
|
||||||
colorScheme = "dark";
|
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 = ''
|
gtk3.extraCss = ''
|
||||||
@define-color theme_bg_color ${c.base00};
|
@define-color theme_bg_color ${c.base00};
|
||||||
@define-color theme_fg_color ${c.base05};
|
@define-color theme_fg_color ${c.base05};
|
||||||
|
|
@ -52,5 +79,6 @@ in
|
||||||
@define-color success_color ${c.base0B};
|
@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;
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
# enable flakes
|
# enable flakes
|
||||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
nix.settings.experimental-features = [
|
||||||
|
"nix-command"
|
||||||
|
"flakes"
|
||||||
|
];
|
||||||
|
|
||||||
# use proprietary nvidia drivers
|
# use proprietary nvidia drivers
|
||||||
hardware.graphics.enable = true;
|
hardware.graphics.enable = true;
|
||||||
|
|
@ -39,6 +42,10 @@
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
services.desktopManager.gnome.enable = true;
|
services.desktopManager.gnome.enable = true;
|
||||||
services.displayManager.gdm.enable = true;
|
services.displayManager.gdm.enable = true;
|
||||||
|
programs.niri = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
};
|
||||||
services.xserver.xkb.layout = "us";
|
services.xserver.xkb.layout = "us";
|
||||||
services.pipewire = {
|
services.pipewire = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -62,6 +69,9 @@
|
||||||
git
|
git
|
||||||
clang
|
clang
|
||||||
];
|
];
|
||||||
|
fonts.packages = [
|
||||||
|
config.theming.fontPackage
|
||||||
|
];
|
||||||
system.stateVersion = "26.05"; # Did you read the comment?
|
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