Using both Flakes and Home Manager, I personally have everything in ~/.dotfiles. Is a WIP.
will make a lil tree for everything later
- The
configsfolder contains all the folders and config files relating to non-distro-specific config files. These can be used by someone using any distro, such as Arch Linux, which is why I decided not to Nixify them (configure them with the Nix language). - The
wallpapersfolder contains some wallpapers that I use/want to use/like.
configuration.nixcontains the main configuration stuff, including the programs I have installed.flake.lockis the lock file for flakes, allows reproducibility I think (don't edit, will change when flakes are changed/updated)flake.nixcontains flake stuff, like some package sources and user configs.hardware-configuration.nixcontains my hardware config, will change per devicehome.nixcontains home manager stuff, like some config file overridingkanshi.nixcontains kanshi config which is used to configure multiple monitors (doesn't work now so Hyprland has my monitor config at the bottom of its config file in ./configs/hypr/hyprland.conf)shell.nixwas gonna make a development file template for projects, extremely unfinished rnsliver.nixcontains stuff to get sliver working (made by a friend); there is some stuff needed for sliver inconfiguration.nixtoosuspend-and-hibernate.nixhas auto suspend and hibernate stuff but it doesn't work (but I found it online)switch.txtcontains the common commands to update the systemtext.nixcontains configs for fonts and fcitx5
- fcitx5
- I'll add more later
If you install my config files, I recommend you change them via the fcitx5 configure GUI, which can be opened by right clicking the fcitx5 icon in the taskbar and choosing "Configure". I'm not sure how else to open the GUI.
Whenever you configure anything via the GUI, it'll change the files in ~/.config/fcitx5/ so make sure to copy the contents of those files in that directory to those in your Nix dotfiles.
(The configurations in the images in the following section may be outdated as the images are there to provide an example of what the GUI looks like. Make sure to restart fcitx5 when changing any options! I right click the fcitx5 icon in my taskbar and choose "Restart" but I'm not sure how else to do it...)
This contains anything configured in the "Input Method" tab. You can create a group for each set of language rotations and I have this one named "eng+pinyin+rus". The default group is named "Default", which I have removed. If you will use multiple groups, choose one to add input methods to. Also, more input methods can be added from NixOS packages, such as fcitx5-table-extra for Cangjie, Boshiamy, etc. Those NixOS packages are added in my home.nix.
To add an input method, select an option from the right side of the configuration window, using the search feature and unchecking the "Only Show Current Language" option (near the bottom right of the configuration window) if necessary. When an input method is selected, the first arrow (pointing to the left) in the middle of the configuration window should turn green, allowing you to add that input method to the group.
To remove an input method from the group, select the input method on the left side of the configuration window and click the (now green) button pointing to the right.
To change the order of the input methods in the group, select the input method on the left side of the configuration window and use the green up or down arrows in the middle of the configuration window to reorder the input methods.

This contains anything configured in the "Global Options" tab. The "Global Options" tab:

This contains anything configured in the "Addons" tab. A file will be made once an option in any of the settings is changed from the default. Make sure to save those files to your Nix config like mine in home.nix. The "Addons" tab:
