Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

adding xkbVariant workman not working #29

Closed
ghost opened this issue Apr 18, 2020 · 3 comments
Closed

adding xkbVariant workman not working #29

ghost opened this issue Apr 18, 2020 · 3 comments

Comments

@ghost
Copy link

ghost commented Apr 18, 2020

Not sure how to change to workman layout. Modified the system.nix with:

xkbOptions = "caps:escape";
layout = "us";
xkbVariant = "workman,";

but it is not picking up. Any ideas?

localectl status is showing X11 Variant: workman,

  1. Also If I make a change in i3 config like setting a longer time for xautlock -locker it is not picked up by the system, reloading i3, reboot or i3-msg reload is not making any changes.

Note: Thanks for making this, looks super interesting, pretty excited to learn from this config, this is the first reproducible config I found that works out of the box.

update:

  1. after ./make.sh update I am getting
! nix build --no-link -f ./nix/default.nix -o /tmp/tmp.OJQStGgQP8/result --keep-going
cannot build on 'ssh://build@utdemir.com': cannot connect to 'build@utdemir.com': Warning: Identity file /root/.ssh/id_rsa not accessible: No such file or directory.
Host key verification failed.

update

resolved the 3rd issue by commenting out the

 nix = {
    distributedBuilds = true;
    buildMachines = [
      { hostName = "nxb-4";
        system = "x86_64-linux";
        maxJobs = 100;
        supportedFeatures = [ "benchmark" ];
      }
      { hostName = "nxb-16";
        system = "x86_64-linux";
        maxJobs = 100;
        supportedFeatures = [ "benchmark" ];
        mandatoryFeatures = [ "big-parallel" ];
      }
    ];
    extraOptions = ''
      builders-use-substitutes = true
    '';
  };

from hardware.nix

Note: learning about distributed builds!

update:

  1. ./make.sh switch fails to start Home Manager
home-manager-dooygoy.service - Home Manager environment for dooygoy
   Loaded: loaded (/nix/store/gsnpvv4qrk8kimck2ys4az5miayfiqlz-unit-home-manager-dooygoy.service/home-manager-dooygoy.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sun 2020-04-19 03:43:12 NZST; 4s ago
  Process: 22490 ExecStart=/nix/store/wrh4vvp6d23prlnk9v2g174a49zqarga-activate-dooygoy (code=exited, status=1/FAILURE)
 Main PID: 22490 (code=exited, status=1/FAILURE)
       IP: 0B in, 0B out
      CPU: 40ms

Apr 19 03:43:12 unimatrix systemd[1]: Starting Home Manager environment for dooygoy...
Apr 19 03:43:12 unimatrix hm-activate-dooygoy[22490]: Activating home-manager configuration for dooygoy
Apr 19 03:43:12 unimatrix hm-activate-dooygoy[22490]: Starting home manager activation
Apr 19 03:43:12 unimatrix hm-activate-dooygoy[22490]: Activating checkFilesChanged
Apr 19 03:43:12 unimatrix hm-activate-dooygoy[22490]: Activating checkLinkTargets
Apr 19 03:43:12 unimatrix hm-activate-dooygoy[22490]: Existing file '/home/dooygoy/.mozilla/firefox/profiles.ini' is in the way
Apr 19 03:43:12 unimatrix hm-activate-dooygoy[22490]: Please move the above files and try again or use -b <ext> to move automatically.
Apr 19 03:43:12 unimatrix systemd[1]: home-manager-dooygoy.service: Main process exited, code=exited, status=1/FAILURE
Apr 19 03:43:12 unimatrix systemd[1]: home-manager-dooygoy.service: Failed with result 'exit-code'.
Apr 19 03:43:12 unimatrix systemd[1]: Failed to start Home Manager environment for dooygoy.

reason:

Existing file '/home/dooygoy/.mozilla/firefox/profiles.ini' is in the way
Apr 19 03:43:12 unimatrix hm-activate-dooygoy[22490]: Please move the above files and try again or use -b <ext> to move automatically.

I deleted it and then invoked ./make.sh again but no home manager environment was initialized, at least no report of success or fail. Running ./make.sh update again.

Note: Why this issue with firefox?

Update:

after 2+ hours still updating, fetching firefox-75.0.source.tar.xz from https://cache.nixos.org then building firefox-unwrapped-75.0 from source which did not happen the first time, not sure if home-manager failed setup is the reason.

NOTE: reading why building firefox from source is so slow

Why the Build System is Slow

Aborted compilation, reboot, then ./make.sh cleanup and ./make.sh switch

Update:

  1. Decided to reinstall NixOS just with git installed without firefox, without xserver
  2. Installed cachix and cloned the forked repo
  3. ./make.sh switch works! home-manager initialized
  4. the first reboot hanged for 1.30min while A stop job is running for IPFS Daemon
  5. then hanged on
[   OK   ] Reached target Reboot.
[   400.4050221] systemd-shutdown[1]: Waiting for process: rngd

Note: next reboot does not hang on IPFS or rngd

  1. Reboot works with a new generation, dotfiles are picked up but workman layout still not able to load

Note: In the dotfiles repo there is an exclamation mark next to the prompt. Does this mean there are untracked files? git ls-files --others --exclude-standard returns empty

  1. Firefox is not syncing my addons or from utdemir

dotfiles folder showing dotfile on master [!?]

Trying ./make.sh update, then it begins to download the whole tree, 16395MBs

./make.sh update
! nixpkgs-firefox-addons firefox-addons.json nix/firefox-addons.nix
Fetched https-everywhere version 2020.3.16
Fetched privacy-badger17 version 2020.2.19
Fetched vimium-ff version 1.66
Fetched i-hate-tabs-sdi-for-firefox version 0.1
Fetched ublock-origin version 1.26.0
Fetched matte-black-red version 2019.12.27
Fetched ipfs-companion version 2.11.0
! niv update
Updating all packages
  Package: nixos-hardware
  Package: nixpkgs
  Package: NUR
  Package: h
  Package: home-manager
Done: Updating all packages
! nix build --no-link -f ./nix/default.nix -o /tmp/tmp.cn9XBtg7IH/result --keep-going

why is the script downloading the whole tree?

Libreoffice fails

builder for '/nix/store/s4ifww7ywx4fvihbn1c8pm2vk0g6ddrn-libreoffice-6.3.5.2.drv' failed with exit code 2; last 10 log lines:
        |                                                                ^~
  [ECH] CustomTarget/testtools/bridgetest/bridgetest_javaserver
  [ECH] CustomTarget/testtools/bridgetest/bridgetest_inprocess_java
  [CXX] tools/source/misc/pathutils.cxx
  [C  ] vcl/unx/gtk/xid_fullscreen_on_all_monitors.c
  [SED] CustomTarget/wizards/share/dialog.xlc
  [SED] CustomTarget/wizards/share/script.xlc
  make[1]: *** [/build/libreoffice-6.3.5.2/solenv/gbuild/LinkTarget.mk:291: /build/libreoffice-6.3.5.2/workdir/CxxObject/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.o] Error 1
  make[1]: *** Waiting for unfinished jobs....
  make: *** [Makefile:284: build] Error 2
cannot build derivation '/nix/store/85yfjvh688qnqr8vipaihx13bgkbs8b1-libreoffice-6.3.5.2.drv': 1 dependencies couldn't be built

Then:

[2/362/570 built (1 failed), 3191 copied (16416.8 MiB), 4239.2 MiB DL] building these-0builder for '/nix/store/k2zjccqx44ljrma0gcmx6pwx4h74szvp-hnix-0.7.1.drv' failed with exit code 1; last 10 log lines:
    die', called at libraries/Cabal/Cabal/Distribution/Simple/Configure.hs:1022:20 in Cabal-3.0.1.0:Distribution.Simple.Configure
    configureFinalizedPackage, called at libraries/Cabal/Cabal/Distribution/Simple/Configure.hs:475:12 in Cabal-3.0.1.0:Distribution.Simple.Configure
    configure, called at libraries/Cabal/Cabal/Distribution/Simple.hs:625:20 in Cabal-3.0.1.0:Distribution.Simple
    confHook, called at libraries/Cabal/Cabal/Distribution/Simple/UserHooks.hs:65:5 in Cabal-3.0.1.0:Distribution.Simple.UserHooks
    configureAction, called at libraries/Cabal/Cabal/Distribution/Simple.hs:180:19 in Cabal-3.0.1.0:Distribution.Simple
    defaultMainHelper, called at libraries/Cabal/Cabal/Distribution/Simple.hs:116:27 in Cabal-3.0.1.0:Distribution.Simple
    defaultMain, called at Setup.hs:2:8 in main:Main
  Setup: Encountered missing or private dependencies:
  pretty-show >=1.9.5 && <1.10
cannot build derivation '/nix/store/hsr88x394bwlz9dr666i3hbs4dggppx5-nixpkgs-firefox-addons-0.5.0.drv': 1 dependencies couldn't be built
waiting for locks or build slots...

It finished with

cannot build derivation '/nix/store/1j7z6wmz5fnn3i32pmqs1hfskygx44mb-home-manager-path.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/38lgs46j84544zldpikdy2nn81a91q26-activation-script.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/f5ibn3ix61n77sj0xvw46ji3nzv5c8q6-home-manager-generation.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/3pwfpszj27z2b5v9jyz57xxyv2l04k81-activate-dooygoy.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/483m2pqm5pncrrf8rbf409j8ffn0sp9b-unit-home-manager-dooygoy.service.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/x6bm8b9yrv7j4782gkiqzx9yzsykg7yl-system-units.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/6wi88sb90pgfc82q7a0hgsnl4hykcfa3-etc.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/c3yybsbs31l4112h900qaqavvl29pnla-nixos-system-unimatrix-20.09pre-git.drv': 1 dependencies couldn't be built
[559 built (2 failed), 3191 copied (16416.8 MiB), 4239.2 MiB DL]
error: build of '/nix/store/c3yybsbs31l4112h900qaqavvl29pnla-nixos-system-unimatrix-20.09pre-git.drv' failed
./make.sh update  84.45s user 63.84s system 4% cpu 1:01:21.94 total
dotfiles on  master [!?] took 1h1m21s 

update:

Decided not to go through with your repo so I did a fresh install just with one file configuration.nix and i3wm and some of your dotfiles. Need to learn more about home-manager to try this setup again. Thanks for great learning experience!

@utdemir
Copy link
Owner

utdemir commented Apr 21, 2020

Sorry about not noticing this earlier! Not sure why I didn't get notified.

Not sure how to change to workman layout.

Me neither! I mostly use the defaults, so I don't have any experience on picking a layout; sorry!

Also If I make a change in i3 config like setting a longer time for xautlock -locker it is not picked up by the system, reloading i3, reboot or i3-msg reload is not making any changes.

If you make a change in i3's configuration, running ./make.sh switch and reloading i3 would apply it. Except autostart.sh, that requires restarting i3 since it's only executed on the beginning of a session.

cannot build on 'ssh://build@utdemir.com': cannot connect to 'build@utdemir.com': Warning: Identity file /root/.ssh/id_rsa not accessible: No such file or directory.

Yeah, I meant that hardware-configuration.nix file to contain configuration specific to my hardware. I should've clarified it somewhere, sorry!

re. Firefox related stuff:

Yeah, Firefox both takes a long time to compile, and handling of its addons and configurations is finnicky. I reverted those commits and started using qutebrowser recently.

re. ./make.sh update

This one updates all the packages. If nixpkgs is not built and cached by Hydra yet, it takes a long time to build, and things might be broken. I think I recently started using nixpkgs-unstable, which should cause less compilations (it might still break, hence the name "unstable). I prefer having an up-to-date system and am willing to debug the failures & create issues. If you need more stable system, you can use nixos-20.03 branch (with something like niv update nixpkgs -b nixos-20.03). There is a chance that it's missing some packages, so you might need to delete some.

Decided not to go through with your repo so I did a fresh install just with one file configuration.nix and i3wm and some of your dotfiles. Need to learn more about home-manager to try this setup again. Thanks for great learning experience!

Your issue was really useful! Always good to know what's the pain points on a fresh install. To be honest, installing this repository from scratch likely won't be a click&forget experience, since I do not routinely test installing from scratch and using other machines other than mine. Let me know if I can help with anything (even if you're not using this repo).

@ghost
Copy link
Author

ghost commented Apr 21, 2020

Thank you! Honestly just going through the pain points I learned a lot. There are more reproducible setups/configs floating around but they still need tinkering or manually connecting them.

This made me think of making a web based NixOS configuration manager, an online nix store, where a user/company could just "point and click" pick the components, wm's, and download a configuration.nix with all the extra nix. files creating a specific reproducible nix distro. There could even be some back engine that would test it.

My question is what do you think about something like this? I am a beginner haskeller/nixer and this seems to me like a really nice idea for a project.

I will study your setup more, and let you know if I learn something new. Thanks a bunch!

@utdemir
Copy link
Owner

utdemir commented Apr 29, 2020

My question is what do you think about something like this? I am a beginner haskeller/nixer and this seems to me like a really nice idea for a project.

It definitely sounds like an interesting project. As far as I know there's current attempts for creating a graphical NixOS installer that you can steal some ideas from.

I also want to mention that nixpkgs also comes with various utilities for creating system images with different formats (virtual machine images, iso's etc). At one point I was thinking about publishing a live-cd/installer image from this repository, so your project can just be a web service where you create a point-and-click NixOS image and download an ISO image as a result.

Good luck, let me know if you have a question! :)

@utdemir utdemir closed this as completed Apr 29, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant