encourage NixOS configuration, nix-shell and discourage nix-env (#514)
Co-authored-by: Naïm Favier <n@monade.li>
This commit is contained in:
parent
02c3d7088c
commit
f504a9fdd7
|
@ -506,6 +506,11 @@ viewResultItem nixosChannels channel showInstallDetails show item =
|
||||||
optionals (Just item.source.attr_name == show)
|
optionals (Just item.source.attr_name == show)
|
||||||
[ div [ trapClick ]
|
[ div [ trapClick ]
|
||||||
(div []
|
(div []
|
||||||
|
(item.source.longDescription
|
||||||
|
|> Maybe.map (\desc -> [ p [] [ text desc ] ])
|
||||||
|
|> Maybe.withDefault []
|
||||||
|
)
|
||||||
|
:: div []
|
||||||
[ h4 []
|
[ h4 []
|
||||||
[ text "How to install "
|
[ text "How to install "
|
||||||
, em [] [ text item.source.attr_name ]
|
, em [] [ text item.source.attr_name ]
|
||||||
|
@ -515,7 +520,7 @@ viewResultItem nixosChannels channel showInstallDetails show item =
|
||||||
Maybe.withDefault
|
Maybe.withDefault
|
||||||
[ li
|
[ li
|
||||||
[ classList
|
[ classList
|
||||||
[ ( "active", List.member showInstallDetails [ Search.Unset, Search.FromNixOS, Search.FromFlake ] )
|
[ ( "active", List.member showInstallDetails [ Search.Unset, Search.ViaNixOS, Search.FromFlake ] )
|
||||||
, ( "pull-right", True )
|
, ( "pull-right", True )
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
@ -523,13 +528,13 @@ viewResultItem nixosChannels channel showInstallDetails show item =
|
||||||
[ href "#"
|
[ href "#"
|
||||||
, Search.onClickStop <|
|
, Search.onClickStop <|
|
||||||
SearchMsg <|
|
SearchMsg <|
|
||||||
Search.ShowInstallDetails Search.FromNixOS
|
Search.ShowInstallDetails Search.ViaNixOS
|
||||||
]
|
]
|
||||||
[ text "On NixOS" ]
|
[ text "NixOS Configuration" ]
|
||||||
]
|
]
|
||||||
, li
|
, li
|
||||||
[ classList
|
[ classList
|
||||||
[ ( "active", showInstallDetails == Search.FromNixpkgs )
|
[ ( "active", showInstallDetails == Search.ViaNixShell )
|
||||||
, ( "pull-right", True )
|
, ( "pull-right", True )
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
@ -537,9 +542,23 @@ viewResultItem nixosChannels channel showInstallDetails show item =
|
||||||
[ href "#"
|
[ href "#"
|
||||||
, Search.onClickStop <|
|
, Search.onClickStop <|
|
||||||
SearchMsg <|
|
SearchMsg <|
|
||||||
Search.ShowInstallDetails Search.FromNixpkgs
|
Search.ShowInstallDetails Search.ViaNixShell
|
||||||
]
|
]
|
||||||
[ text "On non-NixOS" ]
|
[ text "nix-shell" ]
|
||||||
|
]
|
||||||
|
, li
|
||||||
|
[ classList
|
||||||
|
[ ( "active", showInstallDetails == Search.ViaNixEnv )
|
||||||
|
, ( "pull-right", True )
|
||||||
|
]
|
||||||
|
]
|
||||||
|
[ a
|
||||||
|
[ href "#"
|
||||||
|
, Search.onClickStop <|
|
||||||
|
SearchMsg <|
|
||||||
|
Search.ShowInstallDetails Search.ViaNixEnv
|
||||||
|
]
|
||||||
|
[ text "nix-env" ]
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
<|
|
<|
|
||||||
|
@ -568,12 +587,63 @@ viewResultItem nixosChannels channel showInstallDetails show item =
|
||||||
Maybe.withDefault
|
Maybe.withDefault
|
||||||
[ div
|
[ div
|
||||||
[ classList
|
[ classList
|
||||||
[ ( "active", showInstallDetails == Search.FromNixpkgs )
|
[ ( "tab-pane", True )
|
||||||
|
, ( "active", showInstallDetails == Search.ViaNixEnv )
|
||||||
|
]
|
||||||
|
]
|
||||||
|
[ p []
|
||||||
|
[ strong [] [ text "Warning:" ]
|
||||||
|
, text """
|
||||||
|
Using nix-env permanently modifies a
|
||||||
|
local profile of installed packages.
|
||||||
|
This must be cleaned up, updated and
|
||||||
|
maintained by the user, in the same
|
||||||
|
way as a traditional package
|
||||||
|
manager. Using nix-shell or a NixOS
|
||||||
|
configuration is recommended
|
||||||
|
instead.
|
||||||
|
"""
|
||||||
|
]
|
||||||
|
]
|
||||||
|
, div
|
||||||
|
[ classList
|
||||||
|
[ ( "active", showInstallDetails == Search.ViaNixEnv )
|
||||||
|
]
|
||||||
|
, class "tab-pane"
|
||||||
|
]
|
||||||
|
[ p []
|
||||||
|
[ strong [] [ text "On NixOS:" ] ]
|
||||||
|
]
|
||||||
|
, div
|
||||||
|
[ classList
|
||||||
|
[ ( "active", showInstallDetails == Search.ViaNixEnv )
|
||||||
]
|
]
|
||||||
, class "tab-pane"
|
, class "tab-pane"
|
||||||
, id "package-details-nixpkgs"
|
, id "package-details-nixpkgs"
|
||||||
]
|
]
|
||||||
[ pre [ class "code-block" ]
|
[ pre [ class "code-block shell-command" ]
|
||||||
|
[ text "nix-env -iA nixos."
|
||||||
|
, strong [] [ text item.source.attr_name ]
|
||||||
|
]
|
||||||
|
]
|
||||||
|
, div [] [ p [] [] ]
|
||||||
|
, div
|
||||||
|
[ classList
|
||||||
|
[ ( "active", showInstallDetails == Search.ViaNixEnv )
|
||||||
|
]
|
||||||
|
, class "tab-pane"
|
||||||
|
]
|
||||||
|
[ p []
|
||||||
|
[ strong [] [ text "On Non NixOS:" ] ]
|
||||||
|
]
|
||||||
|
, div
|
||||||
|
[ classList
|
||||||
|
[ ( "active", showInstallDetails == Search.ViaNixEnv )
|
||||||
|
]
|
||||||
|
, class "tab-pane"
|
||||||
|
, id "package-details-nixpkgs"
|
||||||
|
]
|
||||||
|
[ pre [ class "code-block shell-command" ]
|
||||||
[ text "nix-env -iA nixpkgs."
|
[ text "nix-env -iA nixpkgs."
|
||||||
, strong [] [ text item.source.attr_name ]
|
, strong [] [ text item.source.attr_name ]
|
||||||
]
|
]
|
||||||
|
@ -581,12 +651,52 @@ viewResultItem nixosChannels channel showInstallDetails show item =
|
||||||
, div
|
, div
|
||||||
[ classList
|
[ classList
|
||||||
[ ( "tab-pane", True )
|
[ ( "tab-pane", True )
|
||||||
, ( "active", List.member showInstallDetails [ Search.Unset, Search.FromNixOS, Search.FromFlake ] )
|
, ( "active", showInstallDetails == Search.ViaNixShell )
|
||||||
|
]
|
||||||
|
]
|
||||||
|
[ p []
|
||||||
|
[ text """
|
||||||
|
A nix-shell will temporarily modify
|
||||||
|
your $PATH environment variable.
|
||||||
|
This can be used to try a piece of
|
||||||
|
software before deciding to
|
||||||
|
permanently install it.
|
||||||
|
"""
|
||||||
|
]
|
||||||
|
]
|
||||||
|
, div
|
||||||
|
[ classList
|
||||||
|
[ ( "active", showInstallDetails == Search.ViaNixShell )
|
||||||
|
]
|
||||||
|
, class "tab-pane"
|
||||||
|
, id "package-details-nixpkgs"
|
||||||
|
]
|
||||||
|
[ pre [ class "code-block shell-command" ]
|
||||||
|
[ text "nix-shell -p "
|
||||||
|
, strong [] [ text item.source.attr_name ]
|
||||||
|
]
|
||||||
|
]
|
||||||
|
, div
|
||||||
|
[ classList
|
||||||
|
[ ( "tab-pane", True )
|
||||||
|
, ( "active", List.member showInstallDetails [ Search.Unset, Search.ViaNixOS, Search.FromFlake ] )
|
||||||
|
]
|
||||||
|
]
|
||||||
|
[ p []
|
||||||
|
[ text "Add the following Nix code to your NixOS Configuration, usually located in "
|
||||||
|
, strong [] [ text "/etc/nixos/configuration.nix" ]
|
||||||
|
]
|
||||||
|
]
|
||||||
|
, div
|
||||||
|
[ classList
|
||||||
|
[ ( "tab-pane", True )
|
||||||
|
, ( "active", List.member showInstallDetails [ Search.Unset, Search.ViaNixOS, Search.FromFlake ] )
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
[ pre [ class "code-block" ]
|
[ pre [ class "code-block" ]
|
||||||
[ text <| "nix-env -iA nixos."
|
[ text <| " environment.systemPackages = [\n pkgs."
|
||||||
, strong [] [ text item.source.attr_name ]
|
, strong [] [ text item.source.attr_name ]
|
||||||
|
, text <| " \n ];"
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
@ -599,7 +709,7 @@ viewResultItem nixosChannels channel showInstallDetails show item =
|
||||||
, ( "active", True )
|
, ( "active", True )
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
[ pre [ class "code-block" ]
|
[ pre [ class "code-block shell-command" ]
|
||||||
[ text "nix build "
|
[ text "nix build "
|
||||||
, strong [] [ text url ]
|
, strong [] [ text url ]
|
||||||
, text "#"
|
, text "#"
|
||||||
|
@ -611,12 +721,7 @@ viewResultItem nixosChannels channel showInstallDetails show item =
|
||||||
<|
|
<|
|
||||||
Maybe.map Tuple.first item.source.flakeUrl
|
Maybe.map Tuple.first item.source.flakeUrl
|
||||||
]
|
]
|
||||||
:: ((item.source.longDescription
|
:: maintainersAndPlatforms
|
||||||
|> Maybe.map (\desc -> [ p [] [ text desc ] ])
|
|
||||||
|> Maybe.withDefault []
|
|
||||||
)
|
|
||||||
++ maintainersAndPlatforms
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
@ -384,8 +384,9 @@ type Msg a b
|
||||||
|
|
||||||
|
|
||||||
type Details
|
type Details
|
||||||
= FromNixpkgs
|
= ViaNixShell
|
||||||
| FromNixOS
|
| ViaNixOS
|
||||||
|
| ViaNixEnv
|
||||||
| FromFlake
|
| FromFlake
|
||||||
| Unset
|
| Unset
|
||||||
|
|
||||||
|
|
|
@ -6,10 +6,6 @@
|
||||||
background: #333;
|
background: #333;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
|
||||||
&:before {
|
|
||||||
content: "$ "
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -67,6 +63,10 @@ body {
|
||||||
cursor: text;
|
cursor: text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.shell-command:before {
|
||||||
|
content: "$ ";
|
||||||
|
}
|
||||||
|
|
||||||
#content {
|
#content {
|
||||||
padding-bottom: 4rem;
|
padding-bottom: 4rem;
|
||||||
}
|
}
|
||||||
|
@ -388,8 +388,13 @@ header .navbar.navbar-static-top {
|
||||||
margin: 2em 0 1em 1em;
|
margin: 2em 0 1em 1em;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
|
|
||||||
// how to install a package
|
// long description of a package
|
||||||
& > :nth-child(1) {
|
& > :nth-child(1) {
|
||||||
|
margin-top: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
// how to install a package
|
||||||
|
& > :nth-child(2) {
|
||||||
|
|
||||||
h4 {
|
h4 {
|
||||||
font-size: 1.2em;
|
font-size: 1.2em;
|
||||||
|
@ -417,11 +422,6 @@ header .navbar.navbar-static-top {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// long description of a package
|
|
||||||
& > :nth-child(2) {
|
|
||||||
margin-top: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
// maintainers and platforms
|
// maintainers and platforms
|
||||||
& > :nth-child(3) {
|
& > :nth-child(3) {
|
||||||
margin-top: 1em;
|
margin-top: 1em;
|
||||||
|
|
Loading…
Reference in a new issue