Code Monkey home page Code Monkey logo

nix-config's Introduction

Personal NixOS configuration

NixOS and home-manager config files are merged.

DWL

Installaion

Install NixOS

  1. Follow the manual and install NixOS with any desktop environment and reboot.

  2. Update the generated nixos configuration in /etc/nixos/configuration.nix.

    The new configuration must have: user configuration, flakes enabled, cachix (optional), git, git-crypt, internet setup, firewall disabled

    Check the configuration.nix example

Install host config

Reboot into NixOS, login with the user you created

  1. Connect to internet

    # The following commands will work if you enabled `networking.networkmanager.enable = true;`
    $ nmtui
    $ ping google.com
    

    If ping google.com doesn't work, try updating your DNS

    $ vim /etc/resolv.conf
    # add `nameserver 8.8.8.8` to `/etc/resolv.conf`
    
  2. Use local cachix, if you have 2 machines using the same nix config/channels (optional)

    # Run on another machine, with nixos installed
    $ nix-serve -p 8080
    
    # On current/new machine, test
    $ curl http://192.168.x.x:8080/nix-cache-info
    

    On the current/new machine, update nix.settings.substituters config, add http://192.168.x.x:8080, then restart

  3. Clone this repository into /home/<username>/.config/nix-config

    $ git clone https://github.com/wochap/nix-config.git ~/.config/nix-config
    
  4. Rebuild nixos with the host's specific config, for example, heres's a rebuild for my gdesktop

    WARNING: First nixos-rebuild with device config can take several hours, maybe you want to disable some modules

    # Go to nix-config folder
    $ cd /home/<username>/.config/nix-config
    $ nixos-rebuild boot --flake .#gdesktop
    # or if you want to switch to a specialisation
    # $ nixos-rebuild switch --flake .#gdesktop --specialisation hyprland-specialisation
    

    Reboot so changes take effect

    NOTE: If you encounter an error related to home-manager, it is likely due to a file collision, and you will need to remove a file. You can identify which files are in conflict with the following command: systemctl status home-manager-<username>.service. After resolving all the collisions, you can restart the home-manager-<username>.service.

  5. Set password for new user <username> if you haven't

    # for example
    $ passwd gean
    

Post install

  1. Install ssh keys

    Copy .ssh backup folder to /home/<username>/.ssh

    $ chmod 600 ~/.ssh/*
    $ ssh-add <PATH_TO_PRIVATE_KEY>
    

    https://www.freecodecamp.org/news/how-to-manage-multiple-ssh-keys/

  2. Unlock secrets folder

    Copy git-crypt-key backup

    $ cd /home/<username>/.config/nix-config
    $ git-crypt unlock /path/to/git-crypt-key
    
  3. Install gpg keys

    $ gpg --import private.key
    
  4. Enable autologin (optional)

    $ sudo touch /etc/security/autologin.conf
  5. Setup Syncthing (http://localhost:8384)

  6. Setup desktop wallpaper (optional)

    $ swww img ~/Pictures/backgrounds/<IMAGE_NAME>
    
  7. Setup Neovim configuration

  8. Setup qt look and feel Open Qt5 Settings and update theme and icons

    • icon theme: Tela-catppuccin_mocha-dark
    • color scheme: Catppuccin-Mocha-Mauve
    • style: Lightly
    • change font size to 10
  9. Setup betterdiscord (optional)

    $ betterdiscordctl install
    

    enable theme from discord > betterdiscordctl settings

  10. Enable WebRTC PipeWire support in chrome (wayland only)

    Go to chrome://flags/ and enable WebRTC PipeWire support

  11. Sync vscode, firefox, chrome (optional)

  12. Setup mail

    Generate App passwords in Google Account settings Copy App password (16 digits) to secrets/mail/

  13. Setup calendar

    A browser should open automatically asking for google credentials, otherwise run:

    $ vdirsyncer discover
    $ touch ~/.config/remind/remind.rem
  14. Waydroid (optional)

  15. Flatpak (optional)

  16. Setup steam (optional)

    Run steam, login, setup proton.

Upgrating NixOS

Update inputs on flake.nix, then:

$ cd /home/<username>/.config/nix-config
$ nix flake update --recreate-lock-file
$ sudo nixos-rebuild boot --flake .#gdesktop

Development Workflow

  • Setup a project with nix-direnv

    $ nix flake new -t github:nix-community/nix-direnv ./
    $ direnv allow
    # update flake.nix
    

Troubleshooting

  • Chrome like apps with blank screen or vanishing text on scroll

    Clear GPUCache, in ~/.config/google-chrome/ShaderCache

    source: electron/electron#40366 source: https://discussion.fedoraproject.org/t/chromium-based-browsers-display-garbled-web-pages-after-mesa-is-updated/83438

  • Slow zsh startup

    # print all zsh scripts that are being loaded
    $ exec -l zsh --sourcetrace
    
  • Fix Virtual Machine Manager network default is not active error

    $ sudo virsh net-start default
    $ sudo virsh net-autostart default
    
  • Fix bootloader

  • Read and write NTFS partitions

    disable fast startup in windows

  • Search a package version in nixpkgs

  • Generate Nix fetcher calls from repository URLs

    $ nurl https://github.com/nix-community/patsh v0.2.0 2>/dev/null
  • Inspect systemctl services

    $ systemctl cat --user swayidle.service
  • Reload .desktop files

    $ nix shell nixpkgs#desktop-file-utils -c update-desktop-database -v ~/.local/share/applications
  • No wifi device at startup

    $ nmcli r wifi on
    
  • Sync Bluetooth for dualboot Linux and Windows

    # on windows, turn off `fast startup``
    # mount your disk with windows, then:
    $ sudo bt-dualboot --sync-all --backup
    
  • No bluetooth device at startup

    $ sudo rfkill unblock bluetooth
    
  • Bluetooth sound glitches

  • Clear /nix/store

    $ nix-collect-garbage -d
    $ sudo nix-collect-garbage -d
    
  • Delete nixos system profile

    # delete everything on
    $ /nix/var/nix/profiles/system-profiles/*
    
    # Clear store and rebuild
    
  • Check packages size

    $ nix path-info -rSh /run/current-system | sort -nk2
    
  • Firefox doesnt load some websites

    Enable DNS over HTTPS

  • Wifi keeps connecting and disconnecting

    Disable ipv6 connection.

  • Copy installed icons unicode

    E8E4 is the unicode.

    $ echo -ne "\uE8E4" | xclip -selection clipboard
    $ echo -ne "\ue92a" | wl-copy
    
  • Transform svg icons to png

    $ for file in *.svg; do inkscape $file -o ${file%svg}png -h 128; done
    
    #!/usr/bin/env bash
    
    symlinks=$(find ./ -lname "*.svg");
    
    for file in $symlinks; do
      linkpath=$(readlink $file);
      newlinkcontent=${linkpath/svg/png};
      newlinkpath=${file/svg/png};
      ln -sf $newlinkcontent $newlinkpath;
    done
    
  • Get key terminal code

    $ kitten show_key -m kitty
    $ kitty +kitten show_key
    $ showkey -a
  • Get key actual name

    $ xev | awk -F'[ )]+' '/^KeyPress/ { a[NR+2] } NR in a { printf "%-3s %s\n", $5, $8 }'
    
  • Cannot add google account in gnome > online accounts

    In gmail settings, enable IMAP

  • Create udev rule

    # monitor uevent
    $ udevadm monitor --property
    
    # print devices ids (vendor, product, etc)
    $ lsusb
    
    # get env values
    $ udevadm info -q all -n /dev/input/eventX
    
    # get attr values
    $ udevadm info -n /dev/input/eventX --attribute-walk

Resources

Inspiration

To learn

Rice resources

Others

nix-config's People

Contributors

wochap avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

nix-config's Issues

Error during final install

When running nixos-rebuild switch --flake .#gdesktop --specialisation hyprland-specialisation --option eval-cache false --show-trace i get error: The option home-manager.users.gean.xdg.configFile."gtk-3.0/gtk.css".source' is used but not defined.`

I'm using everything on fresh nixOS install from readme instructions, my configuration.nix is 1 to 1 example-configuration.nix as well

Here's full --show-trace output if needed

`building the system configuration...
error:
… while calling anonymous lambda

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/attrsets.nix:918:24:

      917|     let f = attrPath:
      918|       zipAttrsWith (n: values:
         |                        ^
      919|         let here = attrPath ++ [n]; in

   … while calling 'g'

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/attrsets.nix:701:19:

      700|           g =
      701|             name: value:
         |                   ^
      702|             if isAttrs value && cond value

   … from call site

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/attrsets.nix:704:20:

      703|               then recurse (path ++ [name]) value
      704|               else f (path ++ [name]) value;
         |                    ^
      705|         in mapAttrs g;

   … while calling anonymous lambda

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/modules.nix:242:72:

      241|           # For definitions that have an associated option
      242|           declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
         |                                                                        ^
      243|

   … while evaluating the option `system.build.toplevel':

   … while calling anonymous lambda

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/modules.nix:822:28:

      821|         # Process mkMerge and mkIf properties.
      822|         defs' = concatMap (m:
         |                            ^
      823|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))

   … while evaluating definitions from `/nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/nixos/modules/system/activation/top-level.nix':

   … from call site

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/modules.nix:823:137:

      822|         defs' = concatMap (m:
      823|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
         |                                                                                                                                         ^
      824|         ) defs;

   … while calling 'dischargeProperties'

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/modules.nix:894:25:

      893|   */
      894|   dischargeProperties = def:
         |                         ^
      895|     if def._type or "" == "merge" then

   … from call site

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/nixos/modules/system/activation/top-level.nix:71:12:

       70|   # Replace runtime dependencies
       71|   system = foldr ({ oldDependency, newDependency }: drv:
         |            ^
       72|       pkgs.replaceDependency { inherit oldDependency newDependency drv; }

   … while calling 'foldr'

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/lists.nix:53:20:

       52|   */
       53|   foldr = op: nul: list:
         |                    ^
       54|     let

   … from call site

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/lists.nix:60:8:

       59|         else op (elemAt list n) (fold' (n + 1));
       60|     in fold' 0;
         |        ^
       61|

   … while calling 'fold''

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/lists.nix:56:15:

       55|       len = length list;
       56|       fold' = n:
         |               ^
       57|         if n == len

   … from call site

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/nixos/modules/system/activation/top-level.nix:68:10:

       67|     then throw "\nFailed assertions:\n${concatStringsSep "\n" (map (x: "- ${x}") failedAssertions)}"
       68|     else showWarnings config.warnings baseSystem;
         |          ^
       69|

   … while calling 'showWarnings'

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/trivial.nix:414:28:

      413|
      414|   showWarnings = warnings: res: lib.foldr (w: x: warn w x) res warnings;
         |                            ^
      415|

   … from call site

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/trivial.nix:414:33:

      413|
      414|   showWarnings = warnings: res: lib.foldr (w: x: warn w x) res warnings;
         |                                 ^
      415|

   … while calling 'foldr'

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/lists.nix:53:20:

       52|   */
       53|   foldr = op: nul: list:
         |                    ^
       54|     let

   … from call site

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/lists.nix:60:8:

       59|         else op (elemAt list n) (fold' (n + 1));
       60|     in fold' 0;
         |        ^
       61|

   … while calling 'fold''

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/lists.nix:56:15:

       55|       len = length list;
       56|       fold' = n:
         |               ^
       57|         if n == len

   … while calling 'g'

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/attrsets.nix:701:19:

      700|           g =
      701|             name: value:
         |                   ^
      702|             if isAttrs value && cond value

   … from call site

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/attrsets.nix:704:20:

      703|               then recurse (path ++ [name]) value
      704|               else f (path ++ [name]) value;
         |                    ^
      705|         in mapAttrs g;

   … while calling anonymous lambda

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/modules.nix:242:72:

      241|           # For definitions that have an associated option
      242|           declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
         |                                                                        ^
      243|

   … while evaluating the option `warnings':

   … while calling anonymous lambda

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/modules.nix:822:28:

      821|         # Process mkMerge and mkIf properties.
      822|         defs' = concatMap (m:
         |                            ^
      823|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))

   … while evaluating definitions from `/nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/nixos/modules/system/boot/systemd.nix':

   … from call site

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/modules.nix:823:137:

      822|         defs' = concatMap (m:
      823|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
         |                                                                                                                                         ^
      824|         ) defs;

   … while calling 'dischargeProperties'

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/modules.nix:894:25:

      893|   */
      894|   dischargeProperties = def:
         |                         ^
      895|     if def._type or "" == "merge" then

   … while calling anonymous lambda

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/attrsets.nix:615:10:

      614|     attrs:
      615|     map (name: f name attrs.${name}) (attrNames attrs);
         |          ^
      616|

   … from call site

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/attrsets.nix:615:16:

      614|     attrs:
      615|     map (name: f name attrs.${name}) (attrNames attrs);
         |                ^
      616|

   … while calling anonymous lambda

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/nixos/modules/system/boot/systemd.nix:425:16:

      424|       mapAttrsToList
      425|         (name: service:
         |                ^
      426|           let

   … from call site

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/nixos/modules/system/boot/systemd.nix:432:16:

      431|             concatLists [
      432|               (optional (type == "oneshot" && (restart == "always" || restart == "on-success"))
         |                ^
      433|                 "Service '${name}.service' with 'Type=oneshot' cannot have 'Restart=always' or 'Restart=on-success'"

   … while calling 'optional'

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/lists.nix:359:20:

      358|   */
      359|   optional = cond: elem: if cond then [elem] else [];
         |                    ^
      360|

   … while calling 'g'

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/attrsets.nix:701:19:

      700|           g =
      701|             name: value:
         |                   ^
      702|             if isAttrs value && cond value

   … from call site

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/attrsets.nix:704:20:

      703|               then recurse (path ++ [name]) value
      704|               else f (path ++ [name]) value;
         |                    ^
      705|         in mapAttrs g;

   … while calling anonymous lambda

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/modules.nix:242:72:

      241|           # For definitions that have an associated option
      242|           declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
         |                                                                        ^
      243|

   … while evaluating the option `systemd.services.home-manager-gean.serviceConfig':

   … from call site

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/modules.nix:844:59:

      843|       if isDefined then
      844|         if all (def: type.check def.value) defsFinal then type.merge loc defsFinal
         |                                                           ^
      845|         else let allInvalid = filter (def: ! type.check def.value) defsFinal;

   … while calling 'merge'

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/types.nix:556:20:

      555|       check = isAttrs;
      556|       merge = loc: defs:
         |                    ^
      557|         mapAttrs (n: v: v.value) (filterAttrs (n: v: v ? value) (zipAttrsWith (name: defs:

   … from call site

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/types.nix:557:35:

      556|       merge = loc: defs:
      557|         mapAttrs (n: v: v.value) (filterAttrs (n: v: v ? value) (zipAttrsWith (name: defs:
         |                                   ^
      558|             (mergeDefinitions (loc ++ [name]) elemType defs).optionalValue

   … while calling 'filterAttrs'

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/attrsets.nix:381:5:

      380|     # The attribute set to filter
      381|     set:
         |     ^
      382|     listToAttrs (concatMap (name: let v = set.${name}; in if pred name v then [(nameValuePair name v)] else []) (attrNames set));

   … while calling anonymous lambda

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/attrsets.nix:382:29:

      381|     set:
      382|     listToAttrs (concatMap (name: let v = set.${name}; in if pred name v then [(nameValuePair name v)] else []) (attrNames set));
         |                             ^
      383|

   … from call site

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/attrsets.nix:382:62:

      381|     set:
      382|     listToAttrs (concatMap (name: let v = set.${name}; in if pred name v then [(nameValuePair name v)] else []) (attrNames set));
         |                                                              ^
      383|

   … while calling anonymous lambda

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/types.nix:557:51:

      556|       merge = loc: defs:
      557|         mapAttrs (n: v: v.value) (filterAttrs (n: v: v ? value) (zipAttrsWith (name: defs:
         |                                                   ^
      558|             (mergeDefinitions (loc ++ [name]) elemType defs).optionalValue

   … while calling anonymous lambda

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/types.nix:557:86:

      556|       merge = loc: defs:
      557|         mapAttrs (n: v: v.value) (filterAttrs (n: v: v ? value) (zipAttrsWith (name: defs:
         |                                                                                      ^
      558|             (mergeDefinitions (loc ++ [name]) elemType defs).optionalValue

   … while calling anonymous lambda

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/modules.nix:822:28:

      821|         # Process mkMerge and mkIf properties.
      822|         defs' = concatMap (m:
         |                            ^
      823|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))

   … while evaluating definitions from `/nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/flake.nix':

   … from call site

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/modules.nix:823:137:

      822|         defs' = concatMap (m:
      823|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
         |                                                                                                                                         ^
      824|         ) defs;

   … while calling 'dischargeProperties'

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/modules.nix:894:25:

      893|   */
      894|   dischargeProperties = def:
         |                         ^
      895|     if def._type or "" == "merge" then

   … while evaluating derivation 'home-manager-generation'
     whose name attribute is located at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/pkgs/stdenv/generic/make-derivation.nix:348:7

   … while evaluating attribute 'buildCommand' of derivation 'home-manager-generation'

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/pkgs/build-support/trivial-builders/default.nix:87:14:

       86|       enableParallelBuilding = true;
       87|       inherit buildCommand name;
         |              ^
       88|       passAsFile = [ "buildCommand" ]

   … while evaluating derivation 'home-manager-files'
     whose name attribute is located at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/pkgs/stdenv/generic/make-derivation.nix:348:7

   … while evaluating attribute 'buildCommand' of derivation 'home-manager-files'

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/pkgs/build-support/trivial-builders/default.nix:87:14:

       86|       enableParallelBuilding = true;
       87|       inherit buildCommand name;
         |              ^
       88|       passAsFile = [ "buildCommand" ]

   … while calling anonymous lambda

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/attrsets.nix:615:10:

      614|     attrs:
      615|     map (name: f name attrs.${name}) (attrNames attrs);
         |          ^
      616|

   … from call site

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/attrsets.nix:615:16:

      614|     attrs:
      615|     map (name: f name attrs.${name}) (attrNames attrs);
         |                ^
      616|

   … while calling anonymous lambda

     at /nix/store/1yvdxhsjm9arpp99ncx7babasm5lp4hf-source/modules/files.nix:396:28:

      395|       '' + concatStrings (
      396|         mapAttrsToList (n: v: ''
         |                            ^
      397|           insertFile ${

   … from call site

     at /nix/store/1yvdxhsjm9arpp99ncx7babasm5lp4hf-source/modules/files.nix:398:13:

      397|           insertFile ${
      398|             escapeShellArgs [
         |             ^
      399|               (sourceStorePath v)

   … while calling 'concatMapStringsSep'

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/strings.nix:117:5:

      116|     # List of input strings
      117|     list: concatStringsSep sep (map f list);
         |     ^
      118|

   … while calling 'escapeShellArg'

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/strings.nix:443:20:

      442|   */
      443|   escapeShellArg = arg: "'${replaceStrings ["'"] ["'\\''"] (toString arg)}'";
         |                    ^
      444|

   … from call site

     at /nix/store/1yvdxhsjm9arpp99ncx7babasm5lp4hf-source/modules/files.nix:399:16:

      398|             escapeShellArgs [
      399|               (sourceStorePath v)
         |                ^
      400|               v.target

   … while calling 'sourceStorePath'

     at /nix/store/1yvdxhsjm9arpp99ncx7babasm5lp4hf-source/modules/files.nix:15:21:

       14|
       15|   sourceStorePath = file:
         |                     ^
       16|     let

   … while calling 'g'

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/attrsets.nix:701:19:

      700|           g =
      701|             name: value:
         |                   ^
      702|             if isAttrs value && cond value

   … from call site

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/attrsets.nix:704:20:

      703|               then recurse (path ++ [name]) value
      704|               else f (path ++ [name]) value;
         |                    ^
      705|         in mapAttrs g;

   … while calling anonymous lambda

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/modules.nix:242:72:

      241|           # For definitions that have an associated option
      242|           declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
         |                                                                        ^
      243|

   … while evaluating the option `home-manager.users.gean.home.file."/home/gean/.config/gtk-3.0/gtk.css".source':

   … while calling anonymous lambda

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/modules.nix:822:28:

      821|         # Process mkMerge and mkIf properties.
      822|         defs' = concatMap (m:
         |                            ^
      823|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))

   … while evaluating definitions from `/nix/store/1yvdxhsjm9arpp99ncx7babasm5lp4hf-source/modules/misc/xdg.nix':

   … from call site

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/modules.nix:823:137:

      822|         defs' = concatMap (m:
      823|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
         |                                                                                                                                         ^
      824|         ) defs;

   … while calling 'dischargeProperties'

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/modules.nix:894:25:

      893|   */
      894|   dischargeProperties = def:
         |                         ^
      895|     if def._type or "" == "merge" then

   … while calling 'g'

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/attrsets.nix:701:19:

      700|           g =
      701|             name: value:
         |                   ^
      702|             if isAttrs value && cond value

   … from call site

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/attrsets.nix:704:20:

      703|               then recurse (path ++ [name]) value
      704|               else f (path ++ [name]) value;
         |                    ^
      705|         in mapAttrs g;

   … while calling anonymous lambda

     at /nix/store/80v3x99d9cl7h9fbhqrpajwg4vjyxg6y-source/lib/modules.nix:242:72:

      241|           # For definitions that have an associated option
      242|           declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
         |                                                                        ^
      243|

   … while evaluating the option `home-manager.users.gean.xdg.configFile."gtk-3.0/gtk.css".source':

   error: The option `home-manager.users.gean.xdg.configFile."gtk-3.0/gtk.css".source' is used but not defined.

`

License?

As title mentions, do you have plans to allow others to use your configuration or is it intended to be stored in an open space without anyone borrowing some of your modifications?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.