Compare commits
4 commits
c4145330a0
...
ae34d2874a
Author | SHA1 | Date | |
---|---|---|---|
ae34d2874a | |||
5ae554cb0a | |||
b30159eb59 | |||
029c2e4952 |
8 changed files with 301 additions and 10 deletions
3
Justfile
3
Justfile
|
@ -2,7 +2,8 @@ default:
|
||||||
@just --list
|
@just --list
|
||||||
|
|
||||||
deployhome:
|
deployhome:
|
||||||
home-manager switch -b bak --flake .
|
# Impure is required for NixGL with proprietary Nvidia drivers :(
|
||||||
|
home-manager switch --impure -b bak --flake .
|
||||||
|
|
||||||
update:
|
update:
|
||||||
nix flake update
|
nix flake update
|
||||||
|
|
79
flake.lock
79
flake.lock
|
@ -1,5 +1,20 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"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": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -20,7 +35,41 @@
|
||||||
"type": "github"
|
"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": {
|
"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": {
|
"locked": {
|
||||||
"lastModified": 1730200266,
|
"lastModified": 1730200266,
|
||||||
"narHash": "sha256-l253w0XMT8nWHGXuXqyiIC/bMvh1VRszGXgdpQlfhvU=",
|
"narHash": "sha256-l253w0XMT8nWHGXuXqyiIC/bMvh1VRszGXgdpQlfhvU=",
|
||||||
|
@ -39,17 +88,19 @@
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixgl": "nixgl",
|
||||||
"rose-pine": "rose-pine"
|
"nixpkgs": "nixpkgs_2",
|
||||||
|
"rose-pine": "rose-pine",
|
||||||
|
"rose-pine-amfora": "rose-pine-amfora"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rose-pine": {
|
"rose-pine": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730588441,
|
"lastModified": 1730612146,
|
||||||
"narHash": "sha256-7cVAVvzZiYs3dWgIRxCs/4LtdYsh9M84eEQICgHdaA4=",
|
"narHash": "sha256-hwOcMTXH6Cx2C8lDllpuB7eFd2qvteyLINRYaG0ELTA=",
|
||||||
"ref": "refs/heads/main",
|
"ref": "refs/heads/main",
|
||||||
"rev": "1fb54d67aeb32c65cd4f9b3e31e2bb14da96355c",
|
"rev": "6a751d43f8c53dd922403a12d43cb74da7e25d79",
|
||||||
"revCount": 373,
|
"revCount": 376,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git.punkfairie.net/punkfairie/rose-pine-nix"
|
"url": "https://git.punkfairie.net/punkfairie/rose-pine-nix"
|
||||||
},
|
},
|
||||||
|
@ -57,6 +108,22 @@
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git.punkfairie.net/punkfairie/rose-pine-nix"
|
"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",
|
"root": "root",
|
||||||
|
|
13
flake.nix
13
flake.nix
|
@ -9,7 +9,15 @@
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nixgl.url = "github:nix-community/nixGL";
|
||||||
|
|
||||||
rose-pine.url = "git+https://git.punkfairie.net/punkfairie/rose-pine-nix";
|
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 =
|
outputs =
|
||||||
|
@ -27,6 +35,11 @@
|
||||||
home-manager.lib.homeManagerConfiguration {
|
home-manager.lib.homeManagerConfiguration {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
|
|
||||||
|
extraSpecialArgs = with inputs; {
|
||||||
|
inherit nixgl;
|
||||||
|
inherit inputs;
|
||||||
|
};
|
||||||
|
|
||||||
modules = [
|
modules = [
|
||||||
./home
|
./home
|
||||||
inputs.rose-pine.homeManagerModules.rose-pine
|
inputs.rose-pine.homeManagerModules.rose-pine
|
||||||
|
|
63
home/amfora/default.nix
Normal file
63
home/amfora/default.nix
Normal 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
|
||||||
|
# }}}
|
||||||
|
'';
|
||||||
|
}
|
|
@ -1,11 +1,19 @@
|
||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
|
nixgl,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
home.username = "marley";
|
home.username = "marley";
|
||||||
home.homeDirectory = "/home/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";
|
home.language.base = "en_US.UTF-8";
|
||||||
|
|
||||||
# Tell nix what version it is.
|
# Tell nix what version it is.
|
||||||
|
@ -17,7 +25,12 @@
|
||||||
"flakes"
|
"flakes"
|
||||||
];
|
];
|
||||||
|
|
||||||
targets.genericLinux.enable = true;
|
xdg.configFile."nixpkgs/config.nix".text = # nix
|
||||||
|
''
|
||||||
|
{
|
||||||
|
allowUnfree = true;
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
|
||||||
# Autostart wanted systemd services.
|
# Autostart wanted systemd services.
|
||||||
systemd.user.startServices = true;
|
systemd.user.startServices = true;
|
||||||
|
@ -32,6 +45,7 @@
|
||||||
fonts.fontconfig.defaultFonts.monospace = [ "Maple Mono NF" ];
|
fonts.fontconfig.defaultFonts.monospace = [ "Maple Mono NF" ];
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
|
./amfora
|
||||||
./bat
|
./bat
|
||||||
./btop
|
./btop
|
||||||
./cava
|
./cava
|
||||||
|
@ -44,6 +58,7 @@
|
||||||
./less
|
./less
|
||||||
./man
|
./man
|
||||||
./ncmpcpp
|
./ncmpcpp
|
||||||
|
./starship
|
||||||
./syncthing
|
./syncthing
|
||||||
./tmux
|
./tmux
|
||||||
./topgrade
|
./topgrade
|
||||||
|
|
127
home/starship/default.nix
Normal file
127
home/starship/default.nix
Normal 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) "
|
||||||
|
]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -79,7 +79,7 @@
|
||||||
plugin = fingers;
|
plugin = fingers;
|
||||||
extraConfig = # tmux
|
extraConfig = # tmux
|
||||||
''
|
''
|
||||||
set -g @fingers-jump-key 's'
|
set -g @fingers-jump-key 'f'
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
{ config, ... }:
|
{ pkgs, config, ... }:
|
||||||
{
|
{
|
||||||
programs.wezterm = {
|
programs.wezterm = {
|
||||||
enable = true;
|
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
|
# TODO: create `local config` & return it seperately, so other modules can
|
||||||
# insert config in the middle
|
# insert config in the middle
|
||||||
extraConfig =
|
extraConfig =
|
||||||
|
|
Loading…
Reference in a new issue