Compare commits

...

4 commits

Author SHA1 Message Date
ae34d2874a
feat(amfora): Configure amfora 2024-11-03 00:10:01 -07:00
5ae554cb0a
feat(tmux): Remove jump, change fingers keys
Fingers offers the same functionality as jump lol.
2024-11-02 23:43:05 -07:00
b30159eb59
feat(starship): Finish configuring starship 2024-11-02 23:20:00 -07:00
029c2e4952
🐛 fix(wezterm): Attempting to fix GPU driver issues
Still doesn't work - submitted an issue to home-manager.
2024-11-02 22:21:19 -07:00
8 changed files with 301 additions and 10 deletions

View file

@ -2,7 +2,8 @@ default:
@just --list
deployhome:
home-manager switch -b bak --flake .
# Impure is required for NixGL with proprietary Nvidia drivers :(
home-manager switch --impure -b bak --flake .
update:
nix flake update

View file

@ -1,5 +1,20 @@
{
"nodes": {
"flake-utils": {
"locked": {
"lastModified": 1659877975,
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
@ -20,7 +35,41 @@
"type": "github"
}
},
"nixgl": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1713543440,
"narHash": "sha256-lnzZQYG0+EXl/6NkGpyIz+FEOc/DSEG57AP1VsdeNrM=",
"owner": "nix-community",
"repo": "nixGL",
"rev": "310f8e49a149e4c9ea52f1adf70cdc768ec53f8a",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixGL",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1660551188,
"narHash": "sha256-a1LARMMYQ8DPx1BgoI/UN4bXe12hhZkCNqdxNi6uS0g=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "441dc5d512153039f19ef198e662e4f3dbb9fd65",
"type": "github"
},
"original": {
"owner": "nixos",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1730200266,
"narHash": "sha256-l253w0XMT8nWHGXuXqyiIC/bMvh1VRszGXgdpQlfhvU=",
@ -39,17 +88,19 @@
"root": {
"inputs": {
"home-manager": "home-manager",
"nixpkgs": "nixpkgs",
"rose-pine": "rose-pine"
"nixgl": "nixgl",
"nixpkgs": "nixpkgs_2",
"rose-pine": "rose-pine",
"rose-pine-amfora": "rose-pine-amfora"
}
},
"rose-pine": {
"locked": {
"lastModified": 1730588441,
"narHash": "sha256-7cVAVvzZiYs3dWgIRxCs/4LtdYsh9M84eEQICgHdaA4=",
"lastModified": 1730612146,
"narHash": "sha256-hwOcMTXH6Cx2C8lDllpuB7eFd2qvteyLINRYaG0ELTA=",
"ref": "refs/heads/main",
"rev": "1fb54d67aeb32c65cd4f9b3e31e2bb14da96355c",
"revCount": 373,
"rev": "6a751d43f8c53dd922403a12d43cb74da7e25d79",
"revCount": 376,
"type": "git",
"url": "https://git.punkfairie.net/punkfairie/rose-pine-nix"
},
@ -57,6 +108,22 @@
"type": "git",
"url": "https://git.punkfairie.net/punkfairie/rose-pine-nix"
}
},
"rose-pine-amfora": {
"flake": false,
"locked": {
"lastModified": 1645462324,
"narHash": "sha256-HUgdRxDKwXFubvCg5OWAwWF6fi8HEhH9xcOPpPonBKg=",
"owner": "rose-pine",
"repo": "amfora",
"rev": "65afcf6c162cd1d960499c657e83603878b91c2d",
"type": "github"
},
"original": {
"owner": "rose-pine",
"repo": "amfora",
"type": "github"
}
}
},
"root": "root",

View file

@ -9,7 +9,15 @@
inputs.nixpkgs.follows = "nixpkgs";
};
nixgl.url = "github:nix-community/nixGL";
rose-pine.url = "git+https://git.punkfairie.net/punkfairie/rose-pine-nix";
# Rose pine themes that aren't included in the above flake:
rose-pine-amfora = {
url = "github:rose-pine/amfora";
flake = false;
};
};
outputs =
@ -27,6 +35,11 @@
home-manager.lib.homeManagerConfiguration {
inherit pkgs;
extraSpecialArgs = with inputs; {
inherit nixgl;
inherit inputs;
};
modules = [
./home
inputs.rose-pine.homeManagerModules.rose-pine

63
home/amfora/default.nix Normal file
View file

@ -0,0 +1,63 @@
{ pkgs, inputs, ... }:
{
home.packages = with pkgs; [
amfora
];
# TODO: Change this based on current theme.
# Possibly set this in rose-pine-nix as well?
# There is no programs.amfora so it would require adding attl opts to base
# rose-pine.
xdg.configFile."amfora/theme.toml".source = "${inputs.rose-pine-amfora}/themes/rose-pine.toml";
# https://github.com/makeworld-the-better-one/amfora/blob/master/default-config.toml
# Amfora requires a number of options to run - omitting everything didn't care
# to customize resulted in go panic errors.
xdg.configFile."amfora/config.toml".text = # toml
''
include = "./theme.toml"
[a-general]
# Defaults {{{
home = "gemini://geminiprotocol.net"
auto_redirect = false
http = 'default'
search = "gemini://geminispace.info/search"
color = true
ansi = true
highlight_code = true
bullets = true
show_link = false
max_width = 80
downloads = ""
page_max_size = 2097152 # 2 MiB
page_max_time = 10
scrollbar = "auto"
underline = true
}}}
# TODO: Change based on current theme.
highlight_style = "rose-pine"
[url-handlers]
# Defaults {{{
other = 'default'
# }}}
[cache]
# Defaults {{{
max_size = 0
max_pages = 30
timeout = 1800
# }}}
[subscriptions]
# Defaults {{{
popup = true
update_interval = 1800
workers = 3
entries_per_page = 20
header = true
# }}}
'';
}

View file

@ -1,11 +1,19 @@
{
pkgs,
nixgl,
...
}:
{
home.username = "marley";
home.homeDirectory = "/home/marley";
targets.genericLinux.enable = true;
# GPU integration.
nixGL.packages = nixgl.packages;
nixGL.defaultWrapper = "nvidia";
nixGL.installScripts = [ "nvidia" ];
home.language.base = "en_US.UTF-8";
# Tell nix what version it is.
@ -17,7 +25,12 @@
"flakes"
];
targets.genericLinux.enable = true;
xdg.configFile."nixpkgs/config.nix".text = # nix
''
{
allowUnfree = true;
}
'';
# Autostart wanted systemd services.
systemd.user.startServices = true;
@ -32,6 +45,7 @@
fonts.fontconfig.defaultFonts.monospace = [ "Maple Mono NF" ];
imports = [
./amfora
./bat
./btop
./cava
@ -44,6 +58,7 @@
./less
./man
./ncmpcpp
./starship
./syncthing
./tmux
./topgrade

127
home/starship/default.nix Normal file
View file

@ -0,0 +1,127 @@
{ lib, ... }:
{
programs.starship = {
enable = true;
rose-pine.enable = true;
settings = lib.mkMerge [
# Nerd Font Symbols
{
aws.symbol = lib.mkForce " ";
buf.symbol = lib.mkForce " ";
c.symbol = lib.mkForce " ";
conda.symbol = lib.mkForce " ";
crystal.symbol = lib.mkForce " ";
dart.symbol = lib.mkForce " ";
directory.read_only = lib.mkForce " 󰌾";
docker_context.symbol = lib.mkForce " ";
elixir.symbol = lib.mkForce " ";
elm.symbol = lib.mkForce " ";
fennel.symbol = lib.mkForce " ";
fossil_branch.symbol = lib.mkForce " ";
git_branch.symbol = lib.mkForce " ";
git_commit.tag_symbol = lib.mkForce " ";
golang.symbol = lib.mkForce " ";
guix_shell.symbol = lib.mkForce " ";
haskell.symbol = lib.mkForce " ";
haxe.symbol = lib.mkForce " ";
hg_branch.symbol = lib.mkForce " ";
hostname.ssh_symbol = lib.mkForce " ";
java.symbol = lib.mkForce " ";
julia.symbol = lib.mkForce " ";
kotlin.symbol = lib.mkForce " ";
lua.symbol = lib.mkForce " ";
memory_usage.symbol = lib.mkForce "󰍛 ";
meson.symbol = lib.mkForce "󰔷 ";
nim.symbol = lib.mkForce "󰆥 ";
nix_shell.symbol = lib.mkForce " ";
nodejs.symbol = lib.mkForce " ";
ocaml.symbol = lib.mkForce " ";
os.symbols = {
Alpine = lib.mkForce " ";
AlmaLinux = lib.mkForce " ";
Amazon = lib.mkForce " ";
Android = lib.mkForce " ";
Arch = lib.mkForce " ";
Artix = lib.mkForce " ";
CentOS = lib.mkForce " ";
Debian = lib.mkForce " ";
DragonFly = lib.mkForce " ";
Emscripten = lib.mkForce " ";
EndeavourOS = lib.mkForce " ";
Fedora = lib.mkForce " ";
FreeBSD = lib.mkForce " ";
Garuda = lib.mkForce "󰛓 ";
Gentoo = lib.mkForce " ";
HardenedBSD = lib.mkForce "󰞌 ";
Illumos = lib.mkForce "󰈸 ";
Kali = lib.mkForce " ";
Linux = lib.mkForce " ";
Mabox = lib.mkForce " ";
Macos = lib.mkForce " ";
Manjaro = lib.mkForce " ";
Mariner = lib.mkForce " ";
MidnightBSD = lib.mkForce " ";
Mint = lib.mkForce " ";
NetBSD = lib.mkForce " ";
NixOS = lib.mkForce " ";
OpenBSD = lib.mkForce "󰈺 ";
openSUSE = lib.mkForce " ";
OracleLinux = lib.mkForce "󰌷 ";
Pop = lib.mkForce " ";
Raspbian = lib.mkForce " ";
Redhat = lib.mkForce " ";
RedHatEnterprise = lib.mkForce " ";
RockyLinux = lib.mkForce " ";
Redox = lib.mkForce "󰀘 ";
Solus = lib.mkForce "󰠳 ";
SUSE = lib.mkForce " ";
Ubuntu = lib.mkForce " ";
Unknown = lib.mkForce " ";
Void = lib.mkForce " ";
Windows = "󰍲 ";
};
package.symbol = lib.mkForce "󰏗 ";
perl.symbol = lib.mkForce " ";
php.symbol = lib.mkForce " ";
pijul_channel.symbol = lib.mkForce " ";
python.symbol = lib.mkForce " ";
rlang.symbol = lib.mkForce "󰟔 ";
ruby.symbol = lib.mkForce " ";
rust.symbol = lib.mkForce "󱘗 ";
scala.symbol = lib.mkForce " ";
swift.symbol = lib.mkForce " ";
zig.symbol = lib.mkForce " ";
gradle.symbol = lib.mkForce " ";
}
{
format = lib.mkForce (
lib.concatStrings [
"$username "
"$directory "
"$git_branch "
"$git_status "
"$fill "
"$c "
"$elixir "
"$elm "
"$golang "
"$haskell "
"$java "
"$julia "
"$nodejs "
"$nim "
"$rust "
"$scala "
"$python "
"$time "
"$line_break "
"[󱞪](fg:iris) "
]
);
}
];
};
}

View file

@ -79,7 +79,7 @@
plugin = fingers;
extraConfig = # tmux
''
set -g @fingers-jump-key 's'
set -g @fingers-jump-key 'f'
'';
}

View file

@ -1,8 +1,13 @@
{ config, ... }:
{ pkgs, config, ... }:
{
programs.wezterm = {
enable = true;
# Needs to be wrapped with GPU driver libraries on non-NixOS systems.
# package = (config.lib.nixGL.wrap pkgs.wezterm);
package = pkgs.emptyDirectory;
# TODO: create `local config` & return it seperately, so other modules can
# insert config in the middle
extraConfig =