ey im xonshing here!

This commit is contained in:
alisceon 2025-09-04 15:05:45 +02:00
parent fad3683ffa
commit 648803b90c
5 changed files with 129 additions and 92 deletions

109
flake.lock generated
View file

@ -21,6 +21,27 @@
"type": "github" "type": "github"
} }
}, },
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": [
"nur-unstable",
"nixpkgs"
]
},
"locked": {
"lastModified": 1733312601,
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-utils": { "flake-utils": {
"inputs": { "inputs": {
"systems": "systems" "systems": "systems"
@ -92,54 +113,46 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": {
"locked": {
"lastModified": 1756787288,
"narHash": "sha256-rw/PHa1cqiePdBxhF66V7R+WAP8WekQ0mCDG4CFqT8Y=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "d0fc30899600b9b3466ddb260fd83deb486c32f1",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1712449641,
"narHash": "sha256-U9DDWMexN6o5Td2DznEgguh8TRIUnIl9levmit43GcI=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "600b15aea1b36eeb43833a50b0e96579147099ff",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nur": { "nur": {
"inputs": { "inputs": {
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"nixpkgs": "nixpkgs_2" "nixpkgs": [
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1756935808, "lastModified": 1756986193,
"narHash": "sha256-Kozv7P1kPXC8M1k12Y3kmylLKptlk9G+GiJe5F1V4Xo=", "narHash": "sha256-YFCcCPTR6YajgpcoZSC0jtSPiG6qPukYpsdmQCEPIis=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "0951866da58eb749d4a25eb241ab4df65866db70", "rev": "d7843c8e7bcd55ebc4ba26d4d618bafaa41268f6",
"type": "github" "type": "github"
}, },
"original": { "original": {
"id": "nur", "owner": "nix-community",
"type": "indirect" "repo": "NUR",
"type": "github"
}
},
"nur-unstable": {
"inputs": {
"flake-parts": "flake-parts_2",
"nixpkgs": [
"nixpkgs-unstable"
]
},
"locked": {
"lastModified": 1756986193,
"narHash": "sha256-YFCcCPTR6YajgpcoZSC0jtSPiG6qPukYpsdmQCEPIis=",
"owner": "nix-community",
"repo": "NUR",
"rev": "d7843c8e7bcd55ebc4ba26d4d618bafaa41268f6",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "NUR",
"type": "github"
} }
}, },
"root": { "root": {
@ -149,7 +162,7 @@
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixpkgs-unstable": "nixpkgs-unstable", "nixpkgs-unstable": "nixpkgs-unstable",
"nur": "nur", "nur": "nur",
"xonsh-xontrib": "xonsh-xontrib" "nur-unstable": "nur-unstable"
} }
}, },
"systems": { "systems": {
@ -166,24 +179,6 @@
"repo": "default", "repo": "default",
"type": "github" "type": "github"
} }
},
"xonsh-xontrib": {
"inputs": {
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1752512286,
"narHash": "sha256-/G535cmjk8nyM/wuOGiqvZxyLet02atFC9QtLUR2HaE=",
"owner": "drmikecrowe",
"repo": "nur-packages",
"rev": "57096c1ad777d00c2bfbc5c2d77a8413bc9b41e2",
"type": "github"
},
"original": {
"owner": "drmikecrowe",
"repo": "nur-packages",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

View file

@ -4,7 +4,14 @@
inputs = { inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
xonsh-xontrib.url = "github:drmikecrowe/nur-packages"; nur = {
url = "github:nix-community/NUR";
inputs.nixpkgs.follows = "nixpkgs";
};
nur-unstable = {
url = "github:nix-community/NUR";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
flake-utils = { flake-utils = {
url = "github:numtide/flake-utils"; url = "github:numtide/flake-utils";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@ -15,21 +22,20 @@
}; };
}; };
outputs = { self, nixpkgs, nixpkgs-unstable, nur, flake-utils, xonsh-xontrib, home-manager, ... }: outputs = { self, nixpkgs, nixpkgs-unstable, nur, nur-unstable, flake-utils, home-manager, ... }:
let let
system = "x86_64-linux"; system = "x86_64-linux";
pkgs = import nixpkgs { pkgs = import nixpkgs {
inherit system; inherit system;
config.allowUnfree = true; config.allowUnfree = true;
flake.setFlakeRegistry = true; flake.setFlakeRegistry = true;
overlays = [ nur.overlays.default ];
}; };
pkgs-unstable = import nixpkgs-unstable { pkgs-unstable = import nixpkgs-unstable {
inherit system; inherit system;
config.allowUnfree = true; config.allowUnfree = true;
flake.setFlakeRegistry = true; flake.setFlakeRegistry = true;
overlays = [ overlays = [ nur-unstable.overlays.default ];
xonsh-xontrib.overlays
];
}; };
sharedSpecialArgs = { sharedSpecialArgs = {
inherit pkgs-unstable; inherit pkgs-unstable;

View file

@ -110,9 +110,6 @@
}; # end programs }; # end programs
# nixpkgs config # nixpkgs config
xdg.configFile."nixpkgs/config.nix".source = ../conf/config.nix; xdg.configFile."nixpkgs/config.nix".source = ../conf/config.nix;
home.file.".xonshrc"= {
source = ../conf/xonshrc;
};
# Ensure fish exists for the completer backend # Ensure fish exists for the completer backend
home.packages = [ pkgs.fish ]; home.packages = [ pkgs.fish ];

View file

@ -1,16 +0,0 @@
# XONSH WEBCONFIG START
$XONSH_COLOR_STYLE = 'default'
$PROMPT = '{YELLOW}{env_name}{RESET}{BOLD_GREEN}{user}@{hostname}{BOLD_BLUE} {cwd}{branch_color}{curr_branch: {}}{RESET} {RED}{last_return_code_if_nonzero:[{BOLD_INTENSE_RED}{}{RED}] }{RESET}{BOLD_BLUE}{prompt_end}{RESET} '
xontrib load coreutils
xontrib load fish_completer
xontrib load direnv
xontrib load fzf-completions
xontrib load clp
xontrib load abbrevs
from xonsh.built_ins import XSH
XSH.env['fzf_history_binding'] = "c-r" # Ctrl+R
XSH.env['fzf_ssh_binding'] = "c-s" # Ctrl+S
XSH.env['fzf_file_binding'] = "c-t" # Ctrl+T
XSH.env['fzf_dir_binding'] = "c-g" # Ctrl+G

View file

@ -126,13 +126,68 @@
xonsh = { xonsh = {
enable = true; enable = true;
extraPackages = ps: with ps; [ extraPackages = ps: with ps; [
pyperclip
xonsh.xontribs.xonsh-direnv xonsh.xontribs.xonsh-direnv
pkgs-unstable.xonsh-xontrib.xontrib-abbrevs pkgs.nur.repos.xonsh-xontribs.xontrib-fish-completer
pkgs-unstable.xonsh-xontrib.xontrib-fzf-completions pkgs.nur.repos.xonsh-xontribs.xontrib-abbrevs
pkgs-unstable.xonsh-xontrib.xontrib-fish-completer pkgs.nur.repos.xonsh-xontribs.xontrib-clp
pkgs-unstable.xonsh-xontrib.xontrib-clp pkgs.nur.repos.xonsh-xontribs.xontrib-bashisms
pkgs-unstable.xonsh-xontrib.xontrib-bashisms (
]; ps.buildPythonPackage
}; rec {
}; name = "xontrib-fzf-completions";
version = "v0.0.2";
format = "pyproject";
nativeBuildInputs = [ ps.setuptools ps.setuptools-scm ps.wheel ];
propagatedBuildInputs = [ ps.xonsh ];
src = pkgs.fetchFromGitHub {
owner = "doronz88";
repo = "${name}";
rev = "${version}";
sha256 = "sha256-1z5xHX4Psevn8686QkwIzv/LOJ5IMJc2nQ5Hg/2svTc=";
};
meta = {
homepage = "https://github.com/doronz88/xontrib-fzf-completions";
description = "fuzzy completions for xonsh";
license = pkgs.lib.licenses.mit;
maintainers = [ ];
};
}
)
]; # end extraPackages
config = ''
$XONSH_COLOR_STYLE = 'native'
$PROMPT = '{YELLOW}{env_name}{RESET}{BOLD_GREEN}{user}@{hostname}{BOLD_BLUE} {cwd}{branch_color}{curr_branch: {}}{RESET} {RED}{last_return_code_if_nonzero:[{BOLD_INTENSE_RED}{}{RED}] }{RESET}{BOLD_BLUE}{prompt_end}{RESET} '
xontrib load coreutils
xontrib load fish_completer
xontrib load direnv
xontrib load fzf-completions
xontrib load clp
xontrib load bashisms
#xontrib load abbrevs #relies on xonsh.ptk_shell which was deprecated in 0.13
#from xonsh.built_ins import XSH
#XSH.env['fzf_history_binding'] = "c-r" # Ctrl+R
#XSH.env['fzf_ssh_binding'] = "c-s" # Ctrl+S
#XSH.env['fzf_file_binding'] = "c-t" # Ctrl+T
#XSH.env['fzf_dir_binding'] = "c-g" # Ctrl+G
aliases["tsla-fan"] = "ipmitool -H 10.30.0.3 -U ADMIN -P ADMIN raw 0x30 0x70 0x66 0x01 0x0"
aliases["nixoss"] = "sudo nixos-rebuild switch --flake .#${config.networking.hostName}"
aliases["nixost"] = "sudo nixos-rebuild test --flake .#${config.networking.hostName}"
aliases["nixosdb"] = "sudo nixos-rebuild dry-build --flake .#${config.networking.hostName}"
aliases["devt"] = "devenv test"
aliases["devtas"] = "devenv tasks list"
aliases["devtar"] = "devenv tasks run"
aliases["devs"] = "devenv shell"
aliases["devi-python"] = "nix flake init -t templates#python"
aliases["weboot"] = "bash -c 'nix shell nixpkgs#efibootmgr -c sudo efibootmgr -n 0000 && reboot'"
aliases["ls"] = "exa"
aliases["ll"] = "exa -lah"
aliases["grep"] = "rg"
aliases["cat"] = "bat -p"
'';
}; # end xonsh
}; # end programs
} #end file } #end file