# SvelteKit Installation
You will need to install the packages you use individually as well as the theme package.
Note: After you install a new package, you will need rebuild your themes and restart SvelteKit.
```sh
npm install --save-dev @smui/button
npm install --save-dev @smui/card
# etc...
npm install --save-dev smui-theme
```
Create your theme files with `smui-theme`.
```sh
npx smui-theme template src/theme
```
You can [modify your theme variables](/THEMING.md#theme-variables) in the files now in `src/theme` and `src/theme/dark`. You can also add the [Material typography styles](/TYPOGRAPHY.md).
## Theme Build Scripts
You'll need one of these sets of prepare scripts in your `package.json` file.
With Dark Mode support.
```
"prepare": "npm run smui-theme-light && npm run smui-theme-dark",
"smui-theme-light": "smui-theme compile static/smui.css -i src/theme",
"smui-theme-dark": "smui-theme compile static/smui-dark.css -i src/theme/dark"
```
Or, without Dark Mode support.
```
"prepare": "npm run smui-theme",
"smui-theme": "smui-theme compile static/smui.css -i src/theme"
```
## Stylesheets
Now in your `src/app.html` file, add the following to the `head` section:
With Dark Mode support.
```html
```
Or, without Dark Mode support.
```html
```
### Fonts
Material uses the Roboto fonts, so be sure to include these stylesheets (or include them from a package).
```html
```
### Icons
The easiest way to get Material icons is the font. If you'd like to use the Material Icons font, include that, also in the `head` section.
```html
```
However, you can get a greatly expanded icon library and reduce over-the-wire sizes by using [the MDI library](https://pictogrammers.com/library/mdi/) instead.
```sh
npm install --save-dev @mdi/js
```
You can see how to use these icons on the "Using SVGs" demo on the [Icon Button demo page](https://sveltematerialui.com/demo/icon-button/).
## Finishing Up
After that, run `npm run prepare` to build your CSS file, then you can run `npm run dev` to start developing. Happy coding!
## Adding More SMUI Packages
Whenever you add a new SMUI package, run `npm run prepare` again to rebuild your CSS file with the new component's styles included.