tars0x9752/home

Pls Help

6FaNcY9 opened this issue · 15 comments

I get an Error

line 70: exec: os-switch not found

when trying to nix-develop -c os-switch i think ist line 70

flake-utils.lib.eachDefaultSystem

but i dot know how to install or us it.

I get an Error

line 70: exec: os-switch not found

when trying to nix-develop -c os-switch i think ist line 70

flake-utils.lib.eachDefaultSystem

but i dot know how to install or us it.

ok i looked at the repo flake utils and i think you added it in the top off flake.nix but i cant solve my problem

Ah, sorry the README was a bit out of date. it's actually dev:os-switch instead of os-switch. (every devShell commands are prefixed with dev: now)

EDIT: README is fixed. :)

All valid devShell commands are here. (name of the command is the name attribute)

home/flake.nix

Lines 82 to 215 in c8cdf14

commands = [
# --- Fun ---
{
name = "dev:hello";
category = "Fun";
help = "Print a nice hello world";
command = ''
nix run '.#figlet' -- -f isometric1 -c "Hello World"
'';
}
# --- Initial Setup ---
{
name = "dev:install";
category = "Initial Setup";
help = "Install home-manager itself and apply the home configuration";
command = ''
export HOME_MANAGER_BACKUP_EXT=old
nix run '.#activate/tars'
direnv allow
'';
}
# --- Home Environment ---
{
name = "dev:ls-pkg";
category = "Home";
help = "List all packages installed in home-manager-path";
command = ''
home-manager packages
'';
}
{
name = "dev:ls-gen";
category = "Home";
help = "List all home environment generations";
command = ''
home-manager generations
'';
}
{
name = "dev:switch";
category = "Home";
help = "Switch home-manager to apply home config changes";
command = ''
home-manager switch --flake '.#tars' -b bck --impure
'';
}
{
name = "dev:update";
category = "Home";
help = "Update things";
command = ''
home-manager switch --flake '.#tars' -b bck --impure --recreate-lock-file
'';
}
{
name = "dev:update-nixpkgs";
category = "Home";
help = "Update nixpkgs only";
command = ''
nix flake lock --update-input nixpkgs
dev:switch
'';
}
{
name = "dev:update-lock-only";
category = "Home";
help = "Update the flake lock file only";
command = ''
nix flake update
'';
}
# --- NixOS ---
{
name = "dev:os-switch";
category = "NixOS";
help = "Switch nixos to rebuild and apply `configuration.nix` changes";
command = ''
sudo nixos-rebuild switch --flake '.#tars' --impure
'';
}
# --- Utility ---
{
name = "dev:fmt";
category = "Utility";
help = "Format nix files";
command = ''
nix fmt
'';
}
{
name = "dev:du-svg";
category = "Utility";
help = "Show what gc-roots are taking space (svg)";
command = ''
nix-du -s=500MB | tred | dot -Tsvg > store.svg
'';
}
{
name = "dev:du-png";
category = "Utility";
help = "Show what gc-roots are taking space (png)";
command = ''
nix-du -s=500MB | tred | dot -Tpng > store.png
'';
}
{
name = "dev:gc";
category = "Utility";
help = "Garbage collection";
command = ''
sudo nix-collect-garbage
'';
}
{
name = "dev:gc-stale";
category = "Utility";
help = ''Perform garbage collection and delete all generations older than 5 days'';
command = ''
sudo nix-collect-garbage -d --delete-older-than 5d
'';
}
{
name = "dev:gc-all";
category = "Utility";
help = ''Perform garbage collection and delete all old generations'';
command = ''
sudo nix-collect-garbage -d
'';
}
];

And you don't need to install flake-utils manually since it has already been specified as an input for this flake.

Tips:

nix develop -c CMD_NAME is basically equivalent to "nix develop then run CMD_NAME". (I'd say it's a "shorthand")

Also, when you do nix develop, it prints all valid command names.

Things to note:

(You may already aware this, but I'll write it down.)

If you use this configuration, there are a few configs you need to modify to suit your environment, e.g.

  • flake.nix: hostname (It's arbitrary but basically you'd like to change it.)
  • nixos/configuration.nix: hardware specific things, such as video card, keyboard mapping(I use Japanese keyboard), language related things, Time Zone, etc.
  • module/rice.nix: display/audio specific configs and such. some of them are designed to match my display/audio.
  • module/git.nix: user specific configs.
  • module/bash/default.nix: some bash functions are specific to my environment. for example, img:screenshot-display1 command is designed to match my display.

and such.

Cheers :)

Thank u so much i love the look of your distro i hope i can install it when i´m awake.
much much thx ❤️ :D

if i dont want to switch between intel and nvidia i dont need lines in conf.nix(i dont have second gpu):

  • nix.settings.auto-optimise-store=true; (has this something to do with optimusmanager?)
  • intelBusId="PCI:0:2:0";

and do i need to but my gpu driver name in conf.nix
i think i need one last thing i get a git error 128 if i try to download with flake do i need to login to git ?
but i try it again when i got some sleep haha
THX for everything haha :DD

Glad to here that. :)

I'm not sure if I understand what you are saying correctly, but nix.settings.auto-optimise-store is nothing to do with video card setting. It's all about Nix Store optimization. more info: https://nixos.wiki/wiki/Storage_optimization

If it's just nvidia, then generally speaking, you don't need optimus or nvidia prime settings for that matter. and It depends on which video card you use, but GPU setting should be a fairly simple unless it is very old or multiple/hybrid GPUs. For recent Nvidia GPUs, It should be sufficient to simply declare that "I use nvidia driver" and there is no need to specify a specific driver version. Detailed information about nvidia setting can be found at: https://nixos.wiki/wiki/Nvidia

What command gave you that git error? Did dev:os-switch succeed? You don't need manually download something except this repository/flake.

Another Tips: If what you want is just how it looks, then basically most of the "rice-related stuff" is in modules/rice.nix, so it might be easier to just copy/mimic that part. 👍
https://github.com/tars0x9752/home/blob/main/modules/rice.nix

I got an mismatch with ble.sh when trying to nix develop -c dev:install
error NAR hash mismatch in http://github.com/akinomyoga/ble.sh
where do i need to change sha265 key

or can i just delete the folder blesh before switching and install it after i´m done?
sry for asking so much :(

and i think u should enable experimental features in ur conf.nix because after i switched i was not able to
nix develop -c dev:install and needed to edit your conf.nix and do nix develop -c dev:switch again (maybe this is where the error comes from)

Ah, perhaps It's possible that the upstream files/contents have changed. There are two ways to fix, one is: change inputs.blesh.url in the flake.nix to https://github.com/akinomyoga/ble.sh/releases/download/nightly/ble-nightly-20220729+a22e145.tar.xz instead of https://github.com/akinomyoga/ble.sh/releases/download/nightly/ble-nightly.tar.xz

EDIT: Now flake.nix is updated and uses newer blesh version.

Or just delete flake.lock and try again. (The hash is in the flake.lock file but the lock file is not supposed to be changed manually. I mean, you don't need to change hash manually since it's one of the flake inputs and flake.lock is generated automatically.)

And yes, If you don't need them, you can just delete the folder and remove import line ./blesh from modules/default.nix.

nix.conf and configuration.nix are completely different thing and there's no conf.nix. (and I don't include nix.conf in this repository.) Since we are using flake, of course we need the experimental feature (as the README says to enable flake).

good luck!

thank you for you help :D
and sry i meant configuration.nix

I have 2 last questions all terminal programs (like ranger and neovim)are getting launched with xtrem and a with screen.
When i try writing in wezterm im getting a dropdown menu with jp language do you know why this is happening i changed every layout all programs are also in Japanese .

Thank u in advance :)

Those CLI tools may appear in the rofi menu, but I haven't set them up to open from rofi. They are meant to be opened from the wezterm, not from rofi.

If you don't need Japanese input at all, you'd delete i18n folder and delete the ./i18n line from modules/default.nix. Also, as I said in my previous comment, you should set the language related things in configuration.nix to what you want. (e.g. locales and such)

It's better to start small by using only the parts you understand.

I post this again just to be sure. Please read the following if you haven't yet.

If you use this configuration, there are a few configs you need to modify to suit your environment, e.g.

* `flake.nix`: hostname (It's  arbitrary but basically you'd like to change it.)

* `nixos/configuration.nix`: hardware specific things, such as video card, keyboard mapping(I use Japanese keyboard), language related things, Time Zone, etc.

* `module/rice.nix`: display/audio specific configs and such. some of them are designed to match my display/audio.

* `module/git.nix`: user specific configs.

* `module/bash/default.nix`: some bash functions are specific to my environment. for example, `img:screenshot-display1` command is designed to match my display.

and such.

Cheers :)

i found the problem with the language module/i18n was overriding the keymap somehow

but the launching of terminal programs still remains

EDIT: i changed the rofi terminal to wezterm when i launch eg. ranger i get no output to display.
This is the error im getting:
error: Found argument '-e' which wasn't expected, or isn't valid in this context If you tried to supply -e as a value rather than a flag, use -- -e

everything else works fine

They are IME settings and IME is turned on by default. There are keymap for xkb, keymap for IME and such. If you don't want IME, just ignore modules/i18n's things as in the previous comment.

I don't know what steps you took, where you putted the argument -e, and what commands you ran. But what I meant is just run them on wezterm. For example, launch wezterm, type ranger, and hit enter. So It doesn't have to do with the argument -e.