Initial ghostty module
This commit is contained in:
parent
e529129153
commit
a742bdc12a
6 changed files with 133 additions and 4 deletions
|
@ -162,7 +162,7 @@
|
||||||
flake = {
|
flake = {
|
||||||
lib = import ./lib inputs;
|
lib = import ./lib inputs;
|
||||||
|
|
||||||
overlays.default = import ./overlays;
|
overlays.default = import ./overlays inputs;
|
||||||
|
|
||||||
nixosModules = builtins.listToAttrs (
|
nixosModules = builtins.listToAttrs (
|
||||||
map (x: {
|
map (x: {
|
||||||
|
|
33
home-manager/modules/ghostty/default.nix
Normal file
33
home-manager/modules/ghostty/default.nix
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
cfg = config.eboskma.programs.ghostty;
|
||||||
|
iniFormat = pkgs.formats.iniWithGlobalSection { listsAsDuplicateKeys = true; };
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.eboskma.programs.ghostty = {
|
||||||
|
enable = lib.mkEnableOption "ghostty";
|
||||||
|
package = lib.mkPackageOption pkgs "ghostty" { };
|
||||||
|
|
||||||
|
settings = lib.mkOption {
|
||||||
|
description = "Ghostty config.";
|
||||||
|
type = lib.types.submodule {
|
||||||
|
freeformType = iniFormat.type;
|
||||||
|
};
|
||||||
|
default = { };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
home.packages = [ cfg.package ];
|
||||||
|
|
||||||
|
xdg.configFile.ghostty-config = {
|
||||||
|
target = "ghostty/config";
|
||||||
|
source = iniFormat.generate "ghostty-config" { globalSection = cfg.settings; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -119,6 +119,20 @@
|
||||||
device = "/dev/disk/by-label/yocto";
|
device = "/dev/disk/by-label/yocto";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
"/mnt/horus/Public" = {
|
||||||
|
device = "//horusnas1/Horusdata/Public";
|
||||||
|
fsType = "cifs";
|
||||||
|
options =
|
||||||
|
let
|
||||||
|
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s";
|
||||||
|
in
|
||||||
|
[
|
||||||
|
"${automount_opts},credentials=/etc/nixos/smb-secrets"
|
||||||
|
"uid=1000"
|
||||||
|
"gid=500"
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [ { device = "/dev/disk/by-label/swap"; } ];
|
swapDevices = [ { device = "/dev/disk/by-label/swap"; } ];
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
_final: prev: {
|
inputs: _final: prev: {
|
||||||
backscrub = prev.pkgs.callPackage ../pkgs/backscrub {
|
backscrub = prev.pkgs.callPackage ../pkgs/backscrub {
|
||||||
inherit (prev.pkgs)
|
inherit (prev.pkgs)
|
||||||
gcc
|
gcc
|
||||||
|
@ -29,4 +29,6 @@ _final: prev: {
|
||||||
|
|
||||||
pds = prev.pkgs.callPackage ../pkgs/pds { };
|
pds = prev.pkgs.callPackage ../pkgs/pds { };
|
||||||
pdsadmin = prev.pkgs.callPackage ../pkgs/pdsadmin { };
|
pdsadmin = prev.pkgs.callPackage ../pkgs/pdsadmin { };
|
||||||
|
|
||||||
|
ghostty = inputs.ghostty.packages.${prev.system}.ghostty;
|
||||||
}
|
}
|
||||||
|
|
|
@ -68,6 +68,86 @@ in
|
||||||
server = false;
|
server = false;
|
||||||
fontSize = 16;
|
fontSize = 16;
|
||||||
};
|
};
|
||||||
|
ghostty = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
# font-family = "Iosevka NF";
|
||||||
|
# font-size = 16;
|
||||||
|
# theme = "catppuccin-mocha";
|
||||||
|
# background-opacity = 0.9;
|
||||||
|
# keybind = [
|
||||||
|
# "ctrl+comma=open_config"
|
||||||
|
# "ctrl+shift+comma=reload_config"
|
||||||
|
# "ctrl+shift+q=quit"
|
||||||
|
# "ctrl+enter=toggle_fullscreen"
|
||||||
|
|
||||||
|
# "ctrl+shift+v=paste_from_clipboard"
|
||||||
|
# "shift+insert=paste_from_selection"
|
||||||
|
# "ctrl+shift+a=select_all"
|
||||||
|
# "shift+up=adjust_selection:up"
|
||||||
|
# "shift+right=adjust_selection:right"
|
||||||
|
# "shift+down=adjust_selection:down"
|
||||||
|
# "shift+left=adjust_selection:left"
|
||||||
|
|
||||||
|
# "alt+one=goto_tab:1"
|
||||||
|
# "alt+two=goto_tab:2"
|
||||||
|
# "alt+three=goto_tab:3"
|
||||||
|
# "alt+four=goto_tab:4"
|
||||||
|
# "alt+five=goto_tab:5"
|
||||||
|
# "alt+six=goto_tab:6"
|
||||||
|
# "alt+seven=goto_tab:7"
|
||||||
|
# "alt+eight=goto_tab:8"
|
||||||
|
# "alt+nine=goto_tab:9"
|
||||||
|
|
||||||
|
# "ctrl+minus=decrease_font_size:1"
|
||||||
|
# "ctrl+equal=increase_font_size:1"
|
||||||
|
# "ctrl+plus=increase_font_size:1"
|
||||||
|
# "ctrl+zero=reset_font_size"
|
||||||
|
|
||||||
|
# "ctrl+shift+n=new_window"
|
||||||
|
# "ctrl+shift+t=new_tab"
|
||||||
|
# "ctrl+shift+o=new_split:right"
|
||||||
|
# "ctrl+shift+e=new_split:down"
|
||||||
|
# "ctrl+shift+c=copy_to_clipboard"
|
||||||
|
|
||||||
|
# "ctrl+shift+tab=previous_tab"
|
||||||
|
# "ctrl+shift+left=previous_tab"
|
||||||
|
# "ctrl+page_up=previous_tab"
|
||||||
|
# "ctrl+tab=next_tab"
|
||||||
|
# "ctrl+page_down=next_tab"
|
||||||
|
# "ctrl+shift+right=next_tab"
|
||||||
|
|
||||||
|
# "super+ctrl+right_bracket=goto_split:next"
|
||||||
|
# "super+ctrl+left_bracket=goto_split:previous"
|
||||||
|
# "ctrl+alt+up=goto_split:top"
|
||||||
|
# "ctrl+alt+right=goto_split:right"
|
||||||
|
# "ctrl+alt+down=goto_split:bottom"
|
||||||
|
# "ctrl+alt+left=goto_split:left"
|
||||||
|
|
||||||
|
# "super+ctrl+shift+up=resize_split:up,10"
|
||||||
|
# "super+ctrl+shift+right=resize_split:right,10"
|
||||||
|
# "super+ctrl+shift+down=resize_split:down,10"
|
||||||
|
# "super+ctrl+shift+left=resize_split:left,10"
|
||||||
|
# "super+ctrl+shift+equal=equalize_splits"
|
||||||
|
|
||||||
|
# "ctrl+shift+page_down=jump_to_prompt:1"
|
||||||
|
# "ctrl+shift+page_up=jump_to_prompt:-1"
|
||||||
|
|
||||||
|
# "ctrl+alt+shift+j=write_scrollback_file:open"
|
||||||
|
# "ctrl+shift+w=close_surface"
|
||||||
|
|
||||||
|
# "shift+page_up=scroll_page_up"
|
||||||
|
# "shift+home=scroll_to_top"
|
||||||
|
# "shift+end=scroll_to_bottom"
|
||||||
|
# "shift+page_down=scroll_page_down"
|
||||||
|
# "ctrl+shift+j=write_scrollback_file:paste"
|
||||||
|
# "alt+f4=close_window"
|
||||||
|
# "ctrl+shift+enter=toggle_split_zoom"
|
||||||
|
# "ctrl+shift+i=inspector:toggle"
|
||||||
|
# ];
|
||||||
|
# window-decoration = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
git = {
|
git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
name = "Erwin Boskma";
|
name = "Erwin Boskma";
|
||||||
|
@ -245,7 +325,7 @@ in
|
||||||
easyeffects
|
easyeffects
|
||||||
fd
|
fd
|
||||||
ffmpeg-full
|
ffmpeg-full
|
||||||
inputs.ghostty.packages.${pkgs.system}.ghostty
|
# inputs.ghostty.packages.${pkgs.system}.ghostty
|
||||||
icemon
|
icemon
|
||||||
imagemagick
|
imagemagick
|
||||||
(imv.override {
|
(imv.override {
|
||||||
|
|
Loading…
Reference in a new issue